The game was billed as a head-to-head clash between Cristiano Ronaldo and Zlatan Ibrahimovic, but in the end it was the intervention of the Spain Under-21 international that proved most telling.
Both sides created early opportunities, with Ronaldo's speculative 30-yard effort clearing the crossbar for Madrid on two minutes, before Cavani's effort was well saved by Diego Lopez after the Uruguayan was played in by Blaise Matuidi.
The breakthrough came shortly after, as Madrid took the lead with 18 minutes on the clock. Alvaro Morata slid a fine ball into the path of Rodriguez and the 20-year-old finished well to make it 1-0 to los Blancos.
PSG responded well to going behind and should have drawn level prior to halftime, with Ezequiel Lavezzi and Cavani both guilty of missing good chances to level, while Rodriguez struck the post as he came close to his and Madrid's second of the game.
The two sides used the halftime interval to make a host of changes, but those substitutions had little impact on the quality of the contest, with Karim Benzema striking the crossbar on 53 minutes, as Carlo Ancelotti's men went close to doubling the lead.
PSG enjoyed the better of the possession as the club pressed forward in increasing numbers in a bid to get back in the game, but the team's profligacy in front of goal was to prove its downfall.
Just shy of the hour mark, Thiago Motta's header cleared the bar when he ought to have found the back of the net before Thiago Silva's close range effort from a corner was blocked on its way goalwards.
Lucas Moura went close for Laurent Blanc's side in the dying moments of injury time, but the Brazilian's finishing let him down at the end of a jinking run down the right, with his effort flying narrowly wide.