What’s the best way to make a blog page on WordPress?

The correct way to create a Blog page in WordPress is to create a page and then in Settings > Reading assign that page as the Posts page.

To create or customise the template used by the blog, you need to refer to the Template Hierarchy. You’ll notice that the “Blog Posts index page”, which is the same as the Posts page you set earlier, will use home.php if it exists, otherwise it will fall back to index.php. So to create a template for your blog page you should either create home.php, or use index.php if the blog should have the same template as search results, category archives, date archives etc.

Inside that template you just need the standard WordPress loop. WordPress has already queried the correct posts, you just need to display them. You absolutely should not be using new WP_Query() to query any posts yourself.

You can cross reference the template hierarchy and the templates inside the default themes to see how they achieve their blogs.