There could be any number of reasons Google ranks a blog post higher than your home page, but you can't force Google to change that. I'd recommend using Webmaster Tools to get a better sense for how Google views your site, and what factors are pushing the blog post to the top of the results for your site.

The same thing has "happened" to me many times, and the reason was obvious:

I made a specific blog post that became "popular," and was linked to by many other sites. Very quickly, that "subpage" (i.e. the URL of the specific blog post itself) became higher ranked than my "home page" is on Google. That's because (as far as I understand) Google counts and takes into consideration how many "incoming links" any page has, and my popular post was linked-to by more sites than my main page was. So Google ranked my single post higher than it ranked my main page.

What probably happened is that your blog post earned some "incoming links," and those outweighed the "keywords" you put on your main page, according to how Google figures these things with its algorithms.

(Frankly, I don't know a thing about "keywords" -- I always tried to "up my rankings" by making popular posts, not by inserting specific words. This happened actually with several of my posts, not just one. My "home page" is now about the 7th most popular page at my site.)

It's also important to remember popularity is relative - in the case of web site content, it's relative to the search string used. It's meaningless to say "one page ranks better than another" unless you qualify that with the search string used: "page A ranks higher than page B when xxxx is searched for".
EVERY page will rank differently depending on what the searcher actually enters. So the trick really is good content, that's likely to appeal to as many people as possible and good keywords used in that content that's likely to be deemed relevant to a given search by the search engines.

Yeah - the key to SEO is good, relevant, and up to date content. Everything else is just infrastructure i.e helping the content be easily findable and understandable by the search engines or "gaming" the system. And if you're found out to be "gaming" the system it can lead to disastrous results. I wouldn't worry about a specific post being ranked higher than your index page - it's still linking to your domain. Think of it as a team win, powered by a specific superstar!