Experienced midfielder Milner was brought on by Jurgen Klopp to help see out a 1-0 victory, only for him to send a mindless clearance skywards, which Virgil van Dijk and Alisson left for one another and allowed Ryan Babel to cancel out Sadio Mane's 26th-minute opener.
That was Mane's 11th goal in his past 11 outings and the Senegal forward was brought down by Sergio Rico after the Fulham goalkeeper spilt Mohamed Salah's shot to hand Milner his shot at redemption.
Liverpool moved two points in front of Manchester City, which was in FA Cup action this weekend, while second-bottom Fulham is marooned 13 points from safety after a seventh consecutive loss.
Joel Matip miscued a free header from Trent Alexander-Arnold's 18th-minute corner, leaving it to the Reds' form man to open the scoring.
Mane darted towards a backpedalling Timothy Fosu-Mensah and slotted a pass to Roberto Firmino, continuing his run to convert the Brazil forward's cutback from the byline.
Fosu-Mensah made a timely tackle on Mane in the 52nd minute but the loose ball fell to Andy Robertson, whose cross was headed over by Georginio Wijnaldum – the start of a bombardment from the wings that the hosts just about survived.
Around the hour, a downpour hit Craven Cottage and Fulham belatedly entered the contest as an attacking force – Floyd Ayite having a header chalked out for offside.
Mane glanced a 72nd-minute corner against the bar before Van Dijk contributed to an improbable leveller from his fellow Netherlands international and ex-Red Babel.
But like Alisson before him, Rico erred and Milner drove a redemptive spot-kick down the middle of the goal.