Alvaro Negredo ended a goal drought which stretched back to the opening day of the season when he put Boro ahead following a neat exchange of passes with Gaston Ramirez.
Riyad Mahrez equalised from the penalty spot after Calum Chambers was judged to have handled.
Negredo looked to have given Boro the points when he latched on to a long ball from Adam Forshaw and clinically dispatched a low shot past Foxes goalkeeper Ron-Robert Zieler.
But Slimani converted from the spot in the fourth minute of injury-time after Wes Morgan was fouled by Marten de Roon.
Relive Leicester v Middlesbrough as it happened
Saturday's Premier League reaction
There were murmurs of discontent from the home fans at the King Power Stadium, but Leicester's players rolled up their sleeves and fought right to the final whistle.
For large parts of the game, the Foxes lacked any kind of zip or purpose about their play. Crucially, though, they kept going and salvaged a valuable point.
It came on the back of Tuesday's 2-1 win over Club Brugge, which secured their passage to the knockout stages of the Champions League with a game to spare.
Importantly, it ensured Leicester did not slip to a third successive Premier League defeat.
"We showed fantastic character," said Foxes boss Claudio Ranieri. "Lucky is someone who believes in something more."
Media playback is not supported on this device
Negredo, who is on a season-long loan from Valencia, found the net for the first time since Boro's 1-1 draw against Stoke City on 13 August.
It was not just the powerful Spaniard's finishing that caught the eye at the King Power Stadium either.
Negredo held the ball up, linked up the play and was generally a handful for the Leicester defence.
He scored 23 goals in 48 appearances for Manchester City en route to helping them win the Premier League title in 2013-14. This display was reminiscent of those days.
Given his side's overall lack of goals this season, Boro boss Aitor Karanka will hope it represents the start of a hot streak for Negredo.
While Negredo was back among the goals, Jamie Vardy's struggles to find the net continue.
Vardy has not scored for the champions since 10 September - a run of 15 games. His form is in stark contrast to a year ago, when he scored for a record 11th Premier League game in a row.
Without Danny Drinkwater, suspended for three matches for elbowing Watford's Valon Behrami, Leicester tried too many high balls, which did not utilise Vardy's strengths.
But irrespective of that, Vardy's performance was subdued, as was his body language.
He could have few complaints when substituted with 25 minutes left.
Media playback is not supported on this device
Leicester manager Claudio Ranieri: "We are fighting for a relegation battle. Now we could be tired but fortunately the character and spirit of the group is good. We knew it was a tough match. Twice fighting back is not easy.
"It was difficult to surprise Middlesbrough, who showed good football to score twice. It's a good performance in the end, I think the draw for us is very good.
"It was important not have to have three Premier League defeats.  I feel we have to fight until the end of season."
Middlesbrough boss Aitor Karanka: "We showed we are a good team and are playing well. We should have won the game and were better than them.
"It's unfair to draw this game. Our performances with and without the ball have been good. Against top teams, we have been really organised.
"I know how good Alvaro Negredo is, and knew the goals would arrive. He did that because the team worked hard. We all have to keep working now."
Leicester are in action again on Saturday, 3 December (15:00 GMT) when they travel to face Sunderland. Middlesbrough host Hull City two days later on Monday, 5 December (20:00).
Match ends, Leicester City 2, Middlesbrough 2.
Second Half ends, Leicester City 2, Middlesbrough 2.
Goal!  Leicester City 2, Middlesbrough 2. Islam Slimani (Leicester City) converts the penalty with a right footed shot to the bottom right corner.
Cristhian Stuani (Middlesbrough) is shown the yellow card.
Penalty conceded by Marten de Roon (Middlesbrough) after a foul in the penalty area.
Penalty Leicester City. Wes Morgan draws a foul in the penalty area.
Víctor Valdés (Middlesbrough) is shown the yellow card.
Attempt blocked. Danny Simpson (Leicester City) header from the centre of the box is blocked. Assisted by Christian Fuchs with a cross.
Offside, Leicester City. Daniel Amartey tries a through ball, but Marc Albrighton is caught offside.
Attempt missed. Daniel Amartey (Leicester City) right footed shot from outside the box misses to the right.
Calum Chambers (Middlesbrough) wins a free kick in the defensive half.
Foul by Islam Slimani (Leicester City).
Foul by Álvaro Negredo (Middlesbrough).
Wes Morgan (Leicester City) wins a free kick in the defensive half.
Substitution, Middlesbrough. Viktor Fischer replaces Gastón Ramírez.
Offside, Leicester City. Wes Morgan tries a through ball, but Islam Slimani is caught offside.
Attempt missed. Daniel Amartey (Leicester City) right footed shot from outside the box is close, but misses to the left. Assisted by Christian Fuchs with a headed pass.
Attempt missed. Ahmed Musa (Leicester City) right footed shot from the left side of the box misses to the left.
Foul by Antonio Barragán (Middlesbrough).
Ahmed Musa (Leicester City) wins a free kick in the defensive half.
Corner,  Middlesbrough. Conceded by Ron-Robert Zieler.
Substitution, Middlesbrough. Cristhian Stuani replaces Adama Traoré.
Adama Traoré (Middlesbrough) wins a free kick on the left wing.
Foul by Daniel Amartey (Leicester City).
Substitution, Leicester City. Demarai Gray replaces Shinji Okazaki.
Delay over. They are ready to continue.
Delay in match Álvaro Negredo (Middlesbrough) because of an injury.
Goal!  Leicester City 1, Middlesbrough 2. Álvaro Negredo (Middlesbrough) left footed shot from a difficult angle on the right to the bottom left corner. Assisted by Adam Forshaw with a through ball.
Attempt missed. Ahmed Musa (Leicester City) right footed shot from the centre of the box is too high. Assisted by Daniel Amartey.
Attempt saved. Shinji Okazaki (Leicester City) left footed shot from outside the box is saved in the top centre of the goal. Assisted by Ahmed Musa.
Substitution, Leicester City. Ahmed Musa replaces Riyad Mahrez.
Attempt blocked. Marten de Roon (Middlesbrough) header from the centre of the box is blocked. Assisted by Gastón Ramírez with a cross.
Corner,  Middlesbrough. Conceded by Daniel Amartey.
Attempt blocked. Gastón Ramírez (Middlesbrough) right footed shot from outside the box is blocked. Assisted by Adam Forshaw.
Substitution, Leicester City. Islam Slimani replaces Jamie Vardy.
Jamie Vardy (Leicester City) is shown the yellow card for a bad foul.
Adam Clayton (Middlesbrough) wins a free kick in the attacking half.
Foul by Jamie Vardy (Leicester City).
Gastón Ramírez (Middlesbrough) wins a free kick on the left wing.
Foul by Wes Morgan (Leicester City).
Islam Slimani's injury-time penalty rescued a point for Leicester as they came from behind twice against Middlesbrough.