How do I create a template page to show 3 blog posts?

before start your posts loop in a custom page template you need to get posts from database by using wp_query() or get_posts() do some thing like this.

    $args = array(
        'posts_per_page' => 3
    );

    $my_query = new WP_Query($args);

    // now start your loop
    if ( $my_query->have_posts() ) {
        while ( $my_query->have_posts() ) {
            $my_query->the_post();
            // print post data, title, content .etc

        }
    }