Top seed Nadal, who was also champion in 2005, 2006, 2007, 2008 and 2010, took his overall Paris record to 45 wins against just one defeat and victory also meant he hangs on to his world number one spot.
It was the 25-year-old Spaniard's 17th win over Federer in 25 meetings and fourth in a Roland Garros final.
But unlike the pair's 2008 clash, when Federer managed to win just four games in the most one-sided final in 30 years, Nadal was made to work harder for his sixth Paris title.
He had to come from 2-5 in the opener, saving a set point, and then squandered a 4-2 lead in the third as 29-year-old Federer, the 2009 champion and bidding for a 17th Grand Slam title, threatened to launch a stunning comeback.
In the end, he was undone by a combination of Nadal's claycourt prowess and his own 56 unforced errors.
In a final played in heavy, muggy conditions in the French capital, Federer raced to a 3-0 courtesy of two confident service games and a break in the second game on a fourth break point when Nadal netted a simple running forehand.
The Swiss, playing in his 23rd Grand Slam final, was soon 5-2 ahead wth Nadal's problems compounded by having to call for treatment on a blister on his left heel at the changeover.
But Nadal regrouped and saved a set point in the seventh game, albeit by the smallest of margins when a Federer drop shot just missed the target.