The two also played an epic 5-set final here in 2005, which was won by Federer. Nadal is playing in his 5th final at the Miami Open but has never won the title, while Federer won it in 2005 and 2006.
It's pretty amazing that the two have played 36 times, with Nadal leading 23-13 overall, 9-9 on hard courts but Federer has won their last 3 consecutive meetings. The most important was Federer's amazing come from behind win in the 2017 Australian Open final just 2 months ago. He followed that up with a beatdown of Nadal in straight sets in Indian Wells Round of 16.
In Miami this year both Novak Djokovic and Andy Murray (who have won this tournament 7 times between them) withdrew, leaving the field wide open but few expected this dream final. Nadal has not been seriously challenged, easily dismissing Fabio Fognini in the semifinal and Jack Sock in the quarters. Meanwhile Federer had to save 2 match points in a final set tiebreaker to get through a slugfest with a resurgent Tomas Berdych in the quarterfinal and then played an epic, extremely high-quality 3 tiebreak sets (each over an hour) with Nick Kyrgios on Friday night. The Kyrgios match is the longest 3-set ATP match Federer has ever played in terms of points played, 7-6(9), 6-7(9), 7-6(5). Amazingly, the two have only played twice, and both matches have featured only tiebreak sets!
So, going into today's final Nadal should have the edge, despite Federer's 18-1 record on the year. If Federer wins he will be able to claim his 3rd "Sunshine" double of winning Indian Wells and Miami, while if Nadal wins he will finally be able to claim the Miami title on his 5th try.
MadProfessah's prediction: Federer in 3 sets.