Lorenzo Melgarejo, who replaced injured midfielder Aleksandr Samedov in the first half, put Spartak 2-1 ahead when he buried the ball in the far right corner in the 58th minute, before captain Denis Glushakov, Luiz Adriano and Quincy Promes each found the net before the final whistle.
Spartak’s win was their first of this Champions League campaign and they are now level on five points with Liverpool at the top of the group. Sevilla are third with four points.
Sevilla had fallen behind in the 18th minute when Promes headed the ball over visiting goalkeeper Sergio Rico, but defender Simon Kjaer levelled minutes later with another header.
The Spanish side struggled with the pace of the Spartak midfield, but had a good chance in the dying minutes of the first half when a menacing curling shot by Michael Krohn-Dehli was tipped over the bar by back-up goalkeeper Aleksandr Selikhov.
The Spartak defence stood firm in the 55th minute as Selikhov made a smart save before defender Dmitry Kombarov cleared the ball off the line.
The win came at a cost for the Russian champions, as Samedov was taken off the pitch in the first half, grimacing in pain after sustaining a leg injury.