Holders Real Madrid kept their dream of a record-extending 11th European crown alive when Javier Hernandez's late strike against 10-man Atletico Madrid secured a place in the Champions League semi-finals.

After last week's quarter-final first leg between the city rivals at the Calderon ended 0-0, a tense return at the Bernabeu appeared to be heading for extra time until James Rodriguez slipped a pass through to Cristiano Ronaldo in the 88th minute.

The Portugal forward squared for Hernandez and the Mexican forward stroked the ball past Atletico goal-keeper Jan Oblak to secure a 1-0 aggregate win.

It was a bitter blow for Atletico, who went toe to toe with the team that beat them in last year's final until their Turkey playmaker Arda Turan was dismissed for a second booking 14 minutes from time and Hernandez applied the killer blow.

Juve progress

Elsewhere, a trademark display of grit and resilience earned Juventus a goalless draw at Monaco as the Italian side also qualified for the semi-finals for the first time since 2003 with a 1-0 aggregate victory.

Juve, the first Italian team to reach the last four of Europe's premier club competition since Inter Milan in 2010, were under the cosh throughout.

They held firm, however, against a Monaco side, who lacked the experience and cutting edge to overturn a 1-0 deficit from the quarter-final first leg.

Results:

Real Madrid 1-0 Atletico Madrid (agg 1-0)

Monaco 0-0 Juventus (agg 0-1)

Source: Al Jazeera and agencies