Uruguay Wrap: Nacional continue Racing's woes
Gaston Pereiro put Nacional ahead at the Estadio Gran Parque Central but the home side had to wait until the 88th minute for a second goal, with De Pena crunching his shot into the top corner from 25 yards.
The win saw Nacional maintain their five-point lead at the top of the Uruguayan Primera Division as arch rivals Penarol also won, leapfrogging Racing into second position.
Racing have now lost twice in as many weeks, dropping from first to third in the standings.
Nacional opened the scoring in the 12th minute on Sunday with Pereiro stabbing De Pena's left-wing cross into the net from the penalty spot, having timed his run into the box to perfection.
The home side secured their sixth straight win when De Pena pushed forward with the ball at his feet with two minutes remaining, before unleashing a left-footed drive that did not stop rising until it crashed into the top corner of the net.
Nacional sit top of the standings with 24 points from nine matches, while Penarol (19, plus 11 goal difference) are second following their 4-1 thumping of Atenas on Friday.
Racing (19, plus three) are third with Defensor Sporting - the club that crushed Racing 6-1 last week - in fourth on 17 points.
Marcelo Zalayeta struck twice in Penarol's victory, top-and-tailing the scoring for the home side in their triumph over Atenas.
Zalayeta scored in the eighth and 90th minutes for Penarol with Jorge Marcelo Rodriguez and Sebastian Pirie also producing goals for the Montevideo-based club.
Defensor were denied victory at home against Sud America with Gaston Colman scoring an equaliser for the latter in the 87th minute after Ignacio Risso had given the home team the lead with 18 minutes left.
River Plate and El Tanque Sisley moved within two points of Defensor in the standings with respective victories at Juventud and Tacuarembo.
El Tanque needed a 73rd-minute goal from Diego Viera to overcome Tacuarembo 3-2 after the bottom club came from two goals down to level the scores in the second half.
River Plate thrashed Juventud 3-0.
In other results, Rampla Juniors trumped Rentistas 2-0, Fenix won 2-1 over Wanderers and Cerro overcame Danubio 2-0.