It was the hosts who took the lead in Russia through a free kick from Fernando, but they were on the back foot for the vast majority of the match as Liverpool were once again unable to make the most of their possession and chances.
Philippe Coutinho quickly levelled things up for the visitors, but they could not add a second as they dropped two more points in Group E, having also been held to a draw on matchday one against Sevilla.
The result leaves Liverpool still second in the group and level on points with Spartak, but they now trail leaders Sevilla by two points after the Spanish outfit cruised to a 3-0 victory over Maribor in the group's other game.
Having seen their defence heavily criticised in recent weeks, it was the misfiring attack that cost Liverpool this evening, despite manager Jurgen Klopp being able to name the quartet of Coutinho, Sadio Mane, Roberto Firmino and Mohamed Salah in his starting lineup for the first time.
Despite all of that attacking talent, it was the unlikely source of Trent Alexander-Arnold who had the first clear chance of the night. The youngster collected a pass from Emre Can, and the ball did not touch the ground as he exchanged a one-two with Salah before chesting the return down and volleying it wide of the target from inside the area.
Stand-in Spartak captain Artem Rebrov was by far the busier of the two goalkeepers on the night, and his first two saves came within 30 seconds of each other when he first denied Salah before producing a strong one-handed stop to deny Firmino's firm header.
Despite Liverpool's dominance the Reds were forced to come from behind for the second Champions League match in a row when Spartak took the lead against the run of play midway through the half. Fernando lined up a free kick from 25 yards, and his strike had enough pace on it to beat Loris Karius in the Liverpool goal.
The Reds thought they had a perfect response when Mane nodded home Alexander-Arnold's cross just two minutes later, but the linesman's flag was correctly raised to cut the returning winger's celebrations short.
Mane was then denied by another save from Rebrov, but there was nothing the Spartak keeper could do about the equaliser as Coutinho exchanged passes with Mane before slamming an emphatic finish in from close range.
Firmino should have joined his compatriot on the scoresheet with seven minutes to go until half time, but the striker could not get enough on his finish after Jordan Henderson's devilish delivery beat the last defender.
Liverpool showcased their devastating pace on the counter-attack towards the end of the half when they broke with a four-on-two situation, but Henderson's low ball across the face of goal was narrowly missed by Mane before Salah failed to squeeze it home from a tight angle - although the linesman's flag had been raised against Mane.
The visitors quickly resumed control of the contest after the restart and Coutinho forced a low stop from Rebrov via a free kick before Spartak fired a warning shot to Liverpool when Andrey Eshchenko's powerful drive was beaten away by Karius.
Salah was then just short of connecting with a weighted pass from Mane at the other end, instead colliding with Rebrov, who later had to be carted off the field as a result of the challenge.
Klopp turned to the bench himself as Daniel Sturridge and Georginio Wijnaldum were introduced, but they continued to struggle to find the killer ball in the final third despite enjoying the lion's share of possession.
Alexander-Arnold and Firmino both squandered presentable sights of goal from the edge of the box, but it was Sturridge who wasted the best chance of the closing stages of normal time.
Having failed to make the most of a Firmino knockdown moments earlier, Sturridge was again picked out by a clever pass from Henderson only to this time blaze his first-time volley well over the crossbar.
Eight minutes of stoppage time renewed the diminishing Liverpool hope, but the additional period only brought with it more frustration for Klopp's side as first Firmino put the ball behind Salah when a better pass would have left the winger with a tap-in.
Salah did get his chance moments later when he latched on to Alexander-Arnold's wicked cross, but his header was straight at substitute keeper Aleksandr Selikhov, who pulled off a good one-handed reaction stop to keep Liverpool at bay.
The result means that Liverpool's wait for a win in the Champions League proper extends to a club-record seven matches ahead of their meeting with Maribor on matchday three, when Spartak will host Sevilla.