oEmbed not recognising Vimeo URLs

Looking into WordPress Core vimeo is registered like so:

'#http://(www\.)?vimeo\.com/.*#i' => array( 'http://www.vimeo.com/api/oembed.{format}', true  ),

But looking at vimeo API for oEmbed they show their URL without the www. so what you need to do is register vimeo oEmbed correctly:

add_action( 'init', 'add_vimeo_oembed_correctly' );
function add_vimeo_oembed_correctly()
{
    wp_oembed_add_provider(
        '#http://(www\.)?vimeo\.com/.*#i',
        'http://vimeo.com/api/oembed.{format}',
        true
    );
}

You can place this in your theme functions file or place in a plugin.

You may need to revisit posts that have Vimeo embeds and save again after putting this fix in.