Lionel Messi was Barcelona's hero yet again as his two first-half penalties sealed a Champions League quarter-final win over AC Milan.
Messi, 24, moved into third on the list of all-time goalscorers in the competition as Barca set up a last-four place against Benfica or Chelsea.
Milan were briefly level when midfielder Antonio Nocerino steered in Zlatan Ibrahimovic's pass.
But they had no answer after the break with Andres Iniesta adding a third.
No side has ever retained the trophy in the Champions League era but Pep Guardiola's side must be outstanding favourites to achieve the feat in Munich on 19 May.
Messi inspired them to beat Manchester United
in last year's final at Wembley, and the Argentine's incredible goalscoring form could steer the club to another title this year.
Barely a week seems to go by without Messi adding another record to his collection, and he quickly chalked up two more to his ever-growing list of personal achievements with his 57th and 58th goals of a remarkable season.
Did you know?
Lionel Messi has now scored 51 goals in the Champions League. Only Ruud van Nistelrooy (56) and Raul (71) have more
He became the youngest player to score 50 Champions League goals with his first spot-kick, before notching up the most goals in a single campaign as his second of the night - and 14th in total this season - put Barca back ahead.
Messi then completed the night's work with an assist as his shot was blocked by the hapless Philippe Mexes, only to fall into the path of Iniesta who struck the pivotal third goal into the far corner.
Chelsea could yet bar Guardiola's side's progress - in a repeat of the
ill-tempered semi-final of 2009
- and Roberto di Matteo's side will have seen few chinks in the defending champions' armour during this display.
Massimiliano Allegri's Milan team knew that any score draw would be enough to see them through, and they made a lively start before Messi opened the scoring 11 minutes in.
Disappointingly for the visitors, the goal was a gift as Mexes dawdled on the halfway line and was robbed of possession by Messi.
The forward surprisingly elected to cut the ball back for Xavi instead of shooting, but when the ball came back to Messi he was brought down by Luca Antonini.
Referee Bjorn Kuipers awarded the penalty and Messi stroked the ball into the bottom corner.
Did you know?
Barcelona have never lost when Andres Iniesta has scored
Milan continued to pose a threat and drew level with a fine goal just after the half hour.
Former Manchester City man Robinho hurdled two tackles before finding Ibrahimovic on the edge of the box, and the Swede played a perfectly-weighted through pass which Nocerino placed beyond Victor Valdes.
But the Italians failed to build on that goal and Barcelona were back ahead before the break as Alessandro Nesta gave away another cheap penalty.
The vastly experienced defender needlessly grabbed hold of Sergio Busquets inside the area, and Messi struck the ball into the opposite corner.
Messi was instrumental in the third goal as well, and when his low shot struck Mexes to land at Iniesta's feet, the midfielder calmly took a touch before rifling past Christian Abbiati.
That goal crushed Milan's spirit, and the match desended into an exhibition as Barca booked their place in the semi-finals for a fifth successive year.
With Jose Mourinho's Real Madrid still in the mix and a potent Bayern Munich side looking to win the cup on their own ground, Barcelona still face several considerable hurdles before they can lift the trophy again, but Guardiola's men undoubtedly remain the side to beat.