First-half goals from Luis Garcia and John Arne Riise had Anfield buzzing, and in injury time Dietmar Hamann scored direct from a free-kick.
But seconds later substitute Franca grabbed Leverkusen a lifeline of an away goal to keep their hopes alive ahead of the return in a fortnight.
Leverkusen withstood Liverpool's opening burst with confidence and control, and in the 11th minute they carved out an excellent chance.
Paul Freier forced his way in from the right before setting up Robson Ponte 12 yards out, but the Brazilian lifted his shot over the crossbar.
Dimitar Berbatov then fired in a fierce 25-yard shot which Jerzy Dudek palmed away with some difficulty.
But on 15 minutes the unlikely figure of Biscan cut open the German defence after going past two tackles, sliding a ball into space for Luis Garcia to collect and clip expertly past Butt to send Anfield wild.
Leverkusen's response was an immediate run and shot from Berbatov, but the Bulgarian's shot fizzed past Dudek's right-hand post.
Liverpool had an amazing let-off in the 29th minute. Steve Finnan's indecisive and weak header hit Hyypia and dropped perfectly for Berbatov to sprint clear on his own. Dudek advanced but knew he had little chance, only to stand and watch the Bulgarian's shot roll wide.
Then the impressive Ponte got away from Djimi Traore and fired in a low shot that Dudek clung onto.
Liverpool, having been in control, were suddenly given a reminder of how dangerous the Bundesliga side can be.
It seemed to serve as a gentle reminder because the Reds went 2-0 up in the 35th minute.
Kewell was fouled out on the right by Diego Placente, and John Arne Riise curled home a left-footed free-kick from 30 yards into the bottom corner.
Ukrainian striker Andrej Voronin tumbled in search of a penalty under Hyypia's challenge to no avail and then Placente struck a 20-yard shot wide of a post as Leverkusen sought an avenue back into the game.
Ponte was then booked for kicking the ball at a fallen Riise in the 44th minute after Bernd Schneider committed the original foul. The card rules the Brazilian out of the return.
Leverkusen had a lively start to the second half with Ponte and Voronin probing.
But Liverpool had Riise and Baros quick on the break and when Traore overlapped down the left, he was fouled by Freier, who was also booked and he also misses the second-leg.
Next into the referee's book was Dudek, for time wasting.
Baros then wasted a glorious chance of a third when Riise's run took him into the box. His square pass was controlled by the unmarked Czech star, but he lifted his shot over.
Hamann received a booking for a foul on Freier before Voronin lifted a shot over the bar on the hour-mark after Bayer's best passing move of the match.
Bayer were trying to catch Liverpool on the break with the home side pushing forward for a third. It meant more room for the dangerous Voronin and a succession of free-kicks going the German team's way put pressure on Jerzy Dudek's goal.
Biscan's surge from midfield on 68 minutes ended with a through-ball for Kewell that he blasted into the side-netting.
Bayer then put on Franca and Landon Donovan for Voronin and Ponte on 69 minutes as they continued their search for a crucial away goal.
Liverpool then wasted two more great chances for a third goal.
First Riise put Baros clear in the box, but his 12-yard shot clipped goalkeeper Butt's leg and rolled wide.
From the corner, Jamie Carragher's point-blank effort was somehow pushed away by Butt.
It was then Dudek's turn to be a hero. First he palmed out a Freier 20-yard effort before tipping over Schneider's piledriver from fully 30 yards.
With 13 minutes left, Anthony Le Tallec came on to replace the tiring Kewell for Liverpool. But it was Leverkusen who continued to press and American Donovan saw a snap shot deflected just wide on 82 minutes.
Daniel Bierofka came on for Freier a minute later, with Darren Potter replacing Baros after 85 minutes for Liverpool. With the clock running down, Vladimir Smicer took over from Riise.
Hamann gave Liverpool a precious three-goal cushion when he curled an injury-time 20-yard free-kick home.
But the Germans still had time to get their own lifeline when Franca scored with seconds to go, tapping home after a Dudek error.