Murray, currently ranked No 47, ground down the Swiss in a gruelling contest in Cincinnati between two former grand slam champions, with the Scot prevailing 7-6 (7/3) 5-7 7-5.
Both men have three majors each and while neither are anywhere near their peak after years battling injury, they put on quite a show in the Ohio heat.
Murray took a close first set in a tie-breaker and while he broke Wawrinka back in the second set when he was serving for it, the world No 306 went on to take it 7-5.
After two energy-sapping sets, it was no surprise that both men required medical treatment in third, with Murray suffering from cramps.
He got the crucial break at 5-5 and despite receiving a serve penalty and seeing three match points come and go, Murray got the job done with a huge serve that was followed by a loud celebration after two hours and 54 minutes on court.
He will now take on Norrie after the British No 1 overcame Holger Rune in three sets earlier in the day.