Fulham have proven difficult opponents for Jurgen Klopp's side in recent years - the Cottagers now unbeaten in their last three top-flight meetings - and Liverpool had to come from behind twice to cancel out two goals from Mitrovic.
The Serbia striker has notoriously struggled for goals in the top division but showed no sign of any issues against the Reds, opening his account for the campaign in the 32nd minute.
Darwin Nunez cancelled out Fulham's lead with a clever improvised backheel just after the hour mark, before a Mitrovic penalty restored the home side's advantage.
With just under 10 minutes remaining in the game, however, Nunez then set up Salah, who calmly slotted home Liverpool's crucial equaliser.
The warning signs were there for Klopp as Liverpool struggled to get going and string passes together early on, before being caught on the break.
Although they grew into the game, it was far from a composed Reds performance, while Fulham looked completely different to the side which shipped 10 goals in their opening three Premier League matches in 2020-21.
It was not the start to the season Liverpool would have envisaged when the fixtures were released, with Fulham applying most of the early pressure and Mitrovic poking wide in only the second minute.
However, Liverpool had the ball in the back of their net with their first real attacking move of the game, Luis Diaz curling the ball past Marek Rodak, but Andy Robertson was offside in the build up.
Liverpool continued to struggle to find their way into the match and it was Fulham who took a surprise lead against the Champions League finalists.
The Cottagers made a clever move down the left, with Kenny Tete overlapping Neeskens Kebano before sending in a deep cross to the far post where Mitrovic beat Trent Alexander-Arnold to head past Alisson.
Liverpool almost levelled just minutes later - Diaz's attempted chip from just inside the box flew past Rodak but rebounded back off the post.
Klopp already had extensive injury problems going into the game, but his fortunes took a turn for the worse when Thiago Alcantara pulled up early in the second half and had to be substituted, going off holding his hamstring.
Early in the second half - after a quiet few minutes - Kebano almost scored Fulham's second when he unleashed an effort that rebounded off the inside of the post and, from the following corner, Bobby Decordova-Reid had a curled effort saved by Alisson.
There were signs of intent from Liverpool as Nunez looked to pick out Diaz at the far post, but his attempted pass was blocked by Joao Palhinha.
Liverpool found a small opportunity and Nunez equalised to open his account in the Premier League.
Harvey Elliott had played in Salah down the wing and he crossed for Nunez, who backheeled the ball into the net, which was allowed to stand following a brief VAR check for offside.
After levelling the score, Liverpool immediately looked to be closing in on a winner, with Diaz having a shot blocked and Tim Ream also having to make a clearance off the line.
Just as Liverpool looked to be pushing for a winner, Mitrovic restored Fulham's lead from the penalty spot.
The Serbia striker was judged by referee Andrew Madley to have been brought down in the box by Virgil Van Dijk, with VAR upholding the decision.
Mitrovic stepped up to take the spot-kick and Alisson guessed the right way but was beaten by the power of the shot.
Liverpool levelled again when Alexander-Arnold crossed from the right to the centre of the box, with Nunez unselfishly tapping down for Mohamed Salah to slot home.