The hosts went 2-0 up in the first half through two Steven Gerrard spot-kicks; the first coming in the 15th minute and the second five minutes before the break.
But Leicester turned the game on its head when David Nugent and Jeff Schlupp scored within the space of two minutes to level the match, with 30 minutes still to play.
And the Premier League’s bottom side had chances to win it as they held on for a valuable point in their fight against relegation.
Leicester nearly opened the scoring in the first minute when Riyad Mahrez shot straight from a free-kick after he was fouled by Kolo Toure, but fortunately for Simon Mignolet the ball bounced onto the post.
The visitors gave possession away easily moments later when Richie De Laet lost out to Jordan Henderson on the edge of the box but the assistant referee flagged for offside.
Ben Hamer showed good awareness in the 10th minute as Philippe Coutinho sent a ball forward for Raheem Sterling to run onto, but the former Charlton goalkeeper was out early to collect confidently.
Minutes later, the visitors had a chance after some poor defending by Emre Can left Schlupp free to speed down the left flank, but the lively Mahrez sent his chance over.
The first goal came in the 16th minute when referee Mike Jones penalised Wes Morgan for handball as Sterling’s low cross hit the defender as he slid in, although replays suggested that it hit his face first.
Gerrard, who was restored to the starting XI after being left on the bench against Swansea, stepped up and his sent his shot into the far right of the goal.
Liverpool won their second penalty of the game in the 40th minute and again it came from the impressive work of Sterling as his ball struck Danny Simpson on the arm. Gerrard stepped up again and fired into the other corner to make it 2-0.
On the stroke of half-time an out-swinging corner found Henderson on the edge of the box, but he couldn’t get his powerful shot on target.
Leicester refused to lie down after the break and Jamie Vardy had space on the ball in the 48th minute after beating the offside trap, but Mamadou Sakho defended well to clear,.
Liverpool’s injury worries increased as Adam Lallana – who was impressive for 50 minutes – was replaced by Fabio Borini.
And Brendan Rodgers’ woes increased as Leicester began a remarkable comeback. Nugent got one back for the visitors in the 58th minute when Vardy knocked the ball down for him on the edge of the box and the striker smashed home a brilliant goal.
The league’s bottom side equalised just two minutes later though Schlupp. A Simpson throw-in was brought into the box by Mahrez and he found Schlupp in acres of space before the German sent his left-foot shot past a flailing Mignolet.
Lucas tried to give the hosts their lead back in the 70th minute but his shot didn’t have the power to beat Hamer on the line.
With just seven minutes left, Leicester looked more likely to get the winner as Liverpool failed to marshal their visitors’ corner and Mignolet failed to collect a corner. The home team broke on the counter-attack, but Henderson couldn’t get his shot on target from Coutinho’s through ball.
Liverpool were left appealing for a third penalty in the 87th minute when Morgan and Borini tussled for the ball and the striker fell to the floor – but this time referee Jones did not point to the spot.
Lazar Markovic had a late chance to win it when he got a head to Sterling’s cross but he sent it wide after the England winger’s good work.
Nugent had another chance with just two minutes left but Sakho was there to make a block before Liverpool went up the other end and Coutinho collected Sterling’s pass and shot over.
Mahrez took a free-kick in the 90th minute but some diligent defending by Sakho cleared the danger and the spoils were ultimately shared.
Leicester remain bottom of the Premier League, but they are now only three points from safety while Liverpool are eighth and seven points away from a coverted Champions League spot.
Liverpool: Mignolet (6), Can (6), Toure (7), Sakho (7), Moreno (7), Gerrard (6), Lucas (6), Henderson (7), Coutinho (7), Lallana (7), Sterling (7).
Subs used: Lambert (5), Markovic (5), Borini (6).
Leicester: Hamer (7), De Laet (6), Drinkwater (6), Morgan (7), Hammond (6), James (7), Vardy (7), Schlupp (8), Simpson (6), Mahrez (8), Wasilewski (6).
Subs used: Cambiasco (6), Ulloa (6), Nugent (7).
MAN OF THE MATCH: Riyad Mahrez (Leicester)