Liverpool took charge of their last 16 Champions League tie with a commanding performance against Leverkusen.
Luis Garcia scored Liverpool's opener, slipping the ball past Jorg Butt after Igor Biscan's through ball before Dimitar Berbatov wasted a great chance.
John Arne Riise then scored with a free-kick after Leverkusen's wall fell apart at the crucial moment.
Dietmar Hamann scored a free-kick late on, but a Jerzy Dudek error then saw Franca pull one back right at the end.
The result places Liverpool in a commanding position ahead of the second leg - and is even more impressive given the Reds were without suspended skipper Steven Gerrard and cup-tied striker Fernando Morientes.
Leverkusen had already recorded some superb results in the group stage of the competition, including a 3-0 defeat of Real Madrid.
And they quickly underlined their attacking threat, Robson Ponte shooting over after an impressive dribble by Paul Freier and Dimitar Berbatov forcing Dudek into action with a long-range volley.
But without central defensive duo Jens Nowotny and Roque Junior the German side appeared vulnerable to the pace and intelligent movement of Milan Baros and Garcia.
And Biscan's exquisitely weighted pass combined with Garcia's superbly timed diagonal run put the Spaniard through on goal for Liverpool's opener.
Leverkusen continued to threaten and would have restored parity but for an awful miss by Berbatov.
Steve Finnan's attempted headed backpass hit Sami Hyypia and fell into Berbatov's path.
The Bulgaria international only had Dudek to beat but skewed his shot wide, holding his head in his hands in acknowledgement of his wasteful finishing.
And Berbatov's profligacy was punished soon afterwards when the Leverkusen wall failed to hold firm and Riise's free-kick glided past Butt.
Baros had a good chance to extend Liverpool's advantage shortly after the break following an incisive run by Riise down the left but the Czech striker shot over from 14 yards.
Leverkusen, struggling as the match wore on to retain possession for any length of time, did open up the Liverpool defence with a superb interchange of passes but Andrei Voronin shot over under pressure from Djimi Traore.
Harry Kewell, making his first start since December, went close after another superb pass from midfield by Biscan.
Liverpool continued to create and Baros had a one-on-one that Butt saved.
From the subsequent corner Jamie Carragher had a short-range volley that was blocked on the line.
The German side reminded Liverpool of the threat they possess with two long-range strikes from Freier and Bernd Schneider forcing Dudek into action.
But when Hamann's free-kick glided past Butt close to full-time the tie seemed over.
However, with virtually the last kick of the game Franca converted from short range to give Leverkusen a lifeline after Dudek horribly spilled a weak long-range Berbatov shot.
Liverpool: Dudek, Finnan, Carragher, Hyypia, Traore, Luis Garcia, Hamann, Biscan, Riise (Smicer 89), Kewell (Le Tallec 77), Baros (Potter 85).
Subs Not Used: Carson, Nunez, Warnock, Welsh.
Booked: Dudek, Hamann.
Goals: Luis Garcia 15, Riise 35, Hamann 90.
Bayer Leverkusen: Butt, Schneider, Callsen-Bracker, Juan, Placente, Ramelow, Freier (Bierofka 83), Ponte (Donovan 69), Krzynowek, Berbatov, Voronin (Franca 68).
Subs Not Used: Starke, Fritz, Dum, Castro.
Booked: Ponte, Freier. Goals: Franca 90.
Att: 40,942
Ref: Kyros Vassaras (Greece).