I am running a very intensive MySQL query and noticed that only 1 core is being used to 100% while the other cores are idle. The system is running Ubuntu 12.04 and MySQL 5.5.28
Is there a way to force MySQL to use all cores?

MySQL's implementation won't allow you to use more than one core per Server Thread.
I recommend divide-and-conquer strategy: break up your query in multiple (hopefully smaller, independent) jobs and start again.