Have you tried lunging him before riding? This will get him in the right mind set for working, he'll have less energy, and will help him concentrate on your movements rather than just wanting to run. If he's still energetic half halts while riding is great, and if he doesn't slow down, circling into a tighter circle always gets them to slow down.
I do many circles, I talk to him and work a lot! He has to spend a lot of energy so work a lot as well! But he also have to respect what you ask him to do! I try to pull as less as possible because if we pull both, he's going to accelerate more again... :)