The 6-7 6-4 6-4 6-3 victory secures the world number two a place in the final at SW19 for the second year in a row.
The Scot told BBC Sport: "I'm delighted, it was a very tough match and completely different to any other match I've had here this year. He's talented and unpredictable, he has huge serves, which gives you very little rhythm to come back at him.
"The first set was tight, I had a few chances but he came out with some big shots and he got on a roll, but I managed to turn it round.
"Novak [Djokovic] and [Juan Martin] del Potro played an incredible match, Novak moved so well. I've only played him on grass here at the Olympics so I'll take that into Sunday."
Murray will face the world number one in the final on Sunday.