James Milner spared Liverpool's blushes against 19th-placed Fulham
Liverpool returned to the top of the Premier League but needed James Milner's late penalty to avoid dropping points at Fulham.
Leading through Sadio Mane's 11th goal in as many games in all competitions, the visitors failed to put a limited Fulham side away, allowing the hosts back into the game.
A dire defensive mix-up between defender Virgil van Dijk and goalkeeper Alisson gifted Ryan Babel an equaliser against his former club on 74 minutes.
But Fulham keeper Sergio Rico then made an equally poor blunder, dropping Mohammed Salah's curling shot and fouling Mane as the Senegal forward went for the ball.
Substitute Milner calmly hit his penalty down the middle as Rico dived right, sending a relieved Liverpool back to the top for the first time since 1 March.
Jurgen Klopp's side are now two points ahead of Manchester City, who have a game in hand.
Relief for the RedsFulham 1-2 Liverpool: Liverpool were a bit rusty in first half - Jurgen Klopp
With Fulham carrying little threat and unable to keep the ball midfield in the first half, this became a test of whether Liverpool could focus and avoid complacency.
They were far from their slick and incisive best - Firmino was poor aside from his assist for Mane's goal and frequently misplaced passes, Adam Lallana was anonymous in midfield and Joel Matip headed well wide when free at a corner.
While Liverpool's defenders were alert enough to cut off Fulham's sporadic forays forward, it seemed that one-goal lead would be enough. But then their concentration lapsed.
They had a let-off when Andre-Frank Zambo Anguissa's drive from outside the area deflected in off Floyd Ayite but was quickly disallowed, with the Fulham forward clearly offside.
Yet Milner then sliced a clearance with his first touch after coming on and it dropped between Van Dijk and Alisson. The keeper failed to come when beckoned, the Dutch defender's header back was weak and Babel was able to sneak in, the ball deflecting up off him past Alisson for the simplest tap-in.
It would have been an embarrassing way to cede ground in the title race but Liverpool's fervency to make amends at the other end ultimately induced a mistake from Rico to help salvage a vital victory.
For Fulham, they defended well against Liverpool's dangerous front three, with Tim Ream and Joe Bryan making key interceptions to deny Salah, and grew in confidence during a brighter spell in the second half.
But still 13 points from safety with seven games to go and champions Manchester City next up, pride and positivity is perhaps all they look to be playing for now.
Sadio's stellar streak goes onSadio Mane has now scored 20 goals in all competitions this season
Mane has been Liverpool's most potent threat over the past two months and from the start his team-mates looked to him to open up Fulham.
He took his goal superbly, shifting inside from the left to find Firmino cutting to the byeline before continuing his run on the diagonal to collect the Brazilian's return pass and fire a first-time strike past the stranded Rico.
Mane could end up this year's Premier League top scorer if this surge continues - this was his ninth goal in as many league games, taking his season tally to 17, level with Salah, Harry Kane and Pierre-Emerick Aubameyang, and one behind Sergio Aguero.
The 26-year-old nearly had a second just before Babel's equaliser, heading a flick-on from a corner onto the top of the crossbar, before putting himself in the right position to beat Rico in winning the penalty.
That contribution was even more important given Firmino's out-of-sorts performance and another quiet day for Salah.
The Egypt winger scuffed an early chance wide, saw a turning strike saved by Rico and now has not scored in seven games in all competitions.
Race for the Premier League titleDateLiverpool fixturesDateMan City fixtures31 MarchTottenham (H)30 MarchFulham (A)5 AprilSouthampton (A)6 AprilCardiff (H) (could change due to FA Cup)14 AprilChelsea (H)14 AprilCrystal Palace (A)21 AprilCardiff (A)20 AprilTottenham (H)24 AprilManchester United (A)26 AprilHuddersfield (H)28 AprilBurnley (A)4 MayNewcastle (A)4 MayLeicester (H)12 MayWolves (H)12 MayBrighton (A)'We lost the rhythm a bit' - reaction
Fulham boss Scott Parker, speaking to BBC Sport: "The back end of the game we came strong and caused Liverpool some problems. It was pleasing, but we have lost [but have] some positives to take from the game.
"These players have been working really well for the two weeks I've been here. But you need to stay in the game against Liverpool. First half we did that. We changed things around a little bit and were in the ascendancy. The goal was what we deserved. We were in a position then to get the right side of it.
"I have seen some massive positives. I stand here two weeks on from being involved and these players are working to a maximum. The attitude and passion that comes with that means this club will be in a better place."
Fulham 1-2 Liverpool: Scott Parker seeing positives despite defeat
Liverpool boss Jurgen Klopp, speaking to BBC Sport: "It was a bit like we are - we started really well, did a lot of good things and lost the rhythm a little bit.
"I'm not the most experienced manager but I've had similar problems after Champions League games - the first half is a bit rusty. We could've finished it off in the second half but if you don't kill the game at 1-0 up it's clear something like that can happen.
"I have no doubt about my players' nerves. I always want perfection but it's rare that you get it. People will say we should be more convincing in games like this but this is us, we are in the middle of a development, not at the end. How the boys dealt with it was brilliant."
Man of the match - Sadio Mane (Liverpool)Sadio Mane was the one Liverpool forward to play to his level, scored a fine goal and won the penalty after this foul by Sergio RicoIf Milner scores, you win - stats
Liverpool have extended their unbeaten Premier League run to 10 matches (W6 D4 L0) and went back to the top of the Premier League for the first time since 1 March.Fulham have now lost 25 of their last 26 Premier League matches against the 'big six' (W0 D1 L25), losing all 11 this season.Liverpool's James Milner extended his Premier League record of never losing a game in which he's scored - it now stands at 51 games (W40 D11 L0).Sadio Mane has scored nine Premier League goals in 2019 for Liverpool - the joint-most in the competition along with Sergio Aguero.Scott Parker became the first Fulham manager to lose his first three Premier League games in charge since Roy Hodgson in January 2008.Mane scored his 17th Premier League goal of the season - the most by a Senegalese player in the history of the competition, overtaking Demba Ba's tally of 16 for Newcastle United in the 2011-12 season.What's next?
Fulham host Manchester City in the Premier League at 12:30 GMT on Saturday, 30 March.
Liverpool face Tottenham at Anfield on Sunday, 31 March, with the kick-off at 16:30.