Spartak suffered its first defeat of the campaign last time out after going down to Amkar Perm and it looked in danger of suffering another loss as Tomsk - without a point from its opening six games - took an eighth-minute lead through
However, Spartak drew level on the stroke of half-time thanks to
The result leaves Spartak three points behind leader CSKA Moscow and level on 14 points with Zenit St Petersburg and Rostov.
Zenit also claimed a 2-1 win, although it left it even later than Spartak before seeing off 10-man Lokomotiv Moscow.
Zenit looked to be in total control at half-time after taking a 43rd-minute lead through
Lokomotiv, which thrashed previously-unbeaten Rostov 5-0 in its last match, refused to give in though, and it drew level through a penalty of its own in the 71st minute, Mbark Boussoufa the goalscorer.
That seemed set to earn the visitor a point but, with just four minutes left on the clock,
Rostov slumped to fourth after drawing 1-1 at Dinamo Moscow.
In the day's other match, Krylya Sovetov and Kuban Krasnodar drew 0-0.