The Scot overcame the home favorite in straight sets 7-5 6-4 in just over two hours and 11 minutes.
Murray's only other victory over "King of Clay" Nadal came in the final of the same event in 2015.
"It's big, obviously it's not easy," Murray said in quotes carried by the official ATP website after the match. "Not loads of players have won against Rafa on clay throughout his career,"
Murray has made adjustments to his game, particularly his second-serve, in recent weeks as well as practicing with Nadal in Mallorca in anticipation of the clay court season.
And that preparation looked to have paid off as he got the better of the Spaniard in large part due to an array of finely-timed drop-shots and intelligent ground strokes.
Although Murray let an early lead slip in the first, he broke Nadal's serve for a second time at the crucial moment to take the set 7-5.
The World No.2 then looked to have blown a 5-3 advantage in the second as Nadal broke to move within one game.
But Murray broke straight back to take the set 6-4 and with it the match.
"When he had opportunities, I think I served pretty well in a lot of them," Murray said, "and [I] also was trying to play aggressive, offensive tennis at those moments. I wasn't backing off at all."
"(I'm) very pleased to have beaten him this year. (This is a) big, big step for me from where I was four or five weeks ago. I'm going back in the right direction again."
Defeat for Nadal means an end to his flawless start to the clay court season, which saw him win 13 matches on the spin, including a semifinal triumph over Murray at the Monte Carlo Masters last month.
Murray will play Novak Djokovic in Sunday's final after the Serb beat Kei Nishikori of Japan in the day's second semifinal.