The 2012 champion earned his first win over a top-10 player since the Scotsman won Wimbledon last summer to set up a clash with world number one Novak Djokovic.
Eighth seed Murray dominated the first set, taking it thanks to one break in the 12th game, but had to come from 4-2 down in the second set.
Ninth seed Tsonga had break points to lead 3-0 in the third but Murray hit back again to clinch victory in two hours, 35 minutes.
"I thought offensively I played well, kept him on the back foot, away from the net. I think I was at the net more than him and that was important, " he told Sky Sports.
"He had chances in the second and third sets, but I was happy to come through. I always try to take the return early on second serve and I knew that would make Joe go for more huge first serves. He did that and served a couple of doubles - that helped."
- Sports & Recreation