UEFA Europa League: Sevilla 2 Zenit 1
The reigning champions fell behind to Alexander Ryazantsev's 29th-minute opener at the Estadio Ramon Sanchez Pizjuan on Thursday and for a long while looked set to face the prospect of having to overhaul a deficit in Russia next week.
Unai Emery's men - perhaps fatigued from coming from 2-0 down to snatch a point against La Liga leaders Barcelona on Saturday - struggled to find the final pass and were frustrated by a well-organised Zenit side.
But Bacca - introduced with 26 minutes remaining - nodded in a 73rd-minute equaliser before Barcelona loanee Suarez struck a stunning volley to settle the contest.
Suarez's thumping 87th-minute strike came from outside the penalty area and sparked wild celebrations as Sevilla grabbed a late win that gives them the upper hand heading into next Thursday's second leg.
Zenit - who were without Russian Premier League top scorer Hulk and first-team regulars Danny, Domenico Criscito and Igor Smolnikov through suspension - do have an all-important away goal to their name, though.
Sevilla controlled the early stages but it was the visitors who created the first real opening when Oleg Shatov saw a fierce effort saved by Sergio Rico.
Shatov's chance spurred Zenit on and Ryazantsev was only inches away from giving them a 19th-minute lead when he nodded Milan Rodic's excellent cross just wide.
Ryazantsev did get the opener 10 minutes later, though, with a superb follow-up effort delighting the small group of travelling supporters.
He cut in from the left wing and initially shot with his right foot at Rico, who could only parry in his direction, and Ryazantsev surged past Nicolas Pareja before firing the rebound into the roof of the net on his left foot.
Emery made two half-time substitutions in a bid to liven his side, as Suarez and Stephane M'Bia replaced Coke and Vicente Iborra.
And the changes made an early impact as M'Bia only just missed a low cross from Aleix Vidal on the right.
Suarez was closer to an equaliser in the 65th minute when he wriggled his way past two defenders and beat Zenit goalkeeper Yuri Lodygin with a left-footed strike, only for defender Ezequiel Garay to block his effort at the near post.
But it was another substitute who levelled proceedings, as Bacca nodded in from three yards following Vidal's superb delivery.
Vidal beat Garay to cross from the byline and Bacca met it sweetly, as Nicolas Lombaerts - stood on the goalline - could only watch it fly in.
Sevilla were buoyed by the goal and Grzegorz Krychowiak shot over with an overhead kick, before Suarez made his telling contribution, reading M'Bia's header before thrashing into the bottom-left corner in style.
The hosts could have even scored a third, with Neto clearing a late Bacca effort as they finished strongly.