Dani Abalo had cancelled out Mario Balotelli's first goal for the Reds in stoppage time, before debutant Ludogorets keeper Milan Borjan gifted Liverpool a reprieve in their first game in the competition for five years.
© Getty Images
Balotelli fashioned himself a couple of chances before the break, shooting low at Borjan from 20 yards, moments after seeing a shot blocked by Aleksandar Aleksandrov following a smart turn on the edge of the box.
Liverpool's best opportunity of the opening 45 minutes fell to Adam Lallana, who had two unsuccessful bites at the cherry from within 10 yards after Raheem Sterling and Jordan Henderson had combined to set him up.
Henderson lifted a clever ball over the top which the Spaniard collected, but he could not keep his volley down from 10 yards, while Gerrard forced Borjan to tip over a header from a Manquillo cross.
The change of shape resulted in more joy for the visitors too, with Roman Bezjak going close with two long-range efforts, and the Bulgarians nearly went ahead when the striker hit the post in the second half following a clever Marcelino through pass, with Yordan Minev side-footing the rebound wide.
Liverpool capitalised on their lucky escape when £16m striker Balotelli wriggled his way through a couple of Ludogorets defenders to smartly finish from Alberto Moreno's cross with the outside of his foot.
Anfield was abuzz with the familiar feeling of a joyous European night, but was soon stunned when Sterling was dispossessed to allow Hamza Younes to thread Abalo in behind Lovren, and the midfielder rounded a stranded Simon Mignolet to level the scores on 90 minutes.
There was still time for Gerrard to save the Merseysiders with another last-ditch Champions League winner, as he buried the spot kick after Borjan had lost control of a back-pass and tripped Manquillo.