Gudjohnsen, on as a substitute for the injured Roman Pavlyuchenko, polished off a delightful chip by Peter Crouch to put Spurs ahead just 18 seconds after the restart.
And his clever dummy set up Kranjcar to blast the 77th-minute winner.
In between, team-mates Vedran Corluka and Benoit Assou-Ekotto engaged in a shoving match in the centre circle and were ticked off by referee Mike Dean.
Stoke had seen Dean Whitehead sent off for two bookable offences four minutes after Gudjohnsen’s opener, but still fashioned a 64th-minute equaliser from Matthew Etherington’s penalty.
Ricardo Fuller then missed a 70th-minute sitter which would have capped a stunning Stoke recovery, and the hosts were made to pay when Kranjcar lashed home his right-footed shot from the edge of the box.
The second-half excitement provided a stark contrast to a dull first period more notable for who was absent rather than any of those who laboured on the pitch.
The much-touted comeback of Ryan Shawcross for the first time since his horror tackle on Aaron Ramsey did not happen as the Stoke man was ruled out with the flu.
And Jermain Defoe’s absence from the Spurs side with a hamstring injury gave Crouch a rare chance to fashion a productive striking partnership with Pavlyuchenko.
Despite having the considerable target of keeping hold of fourth place, Harry Redknapp’s men started sluggishly and it was the home side who provided the more consistent threat.
The visitors might nevertheless have grabbed a barely-deserved lead in the 18th minute when Kranjcar’s long-range effort was spilled by Thomas Sorensen and Crouch almost poked in the rebound.
Stoke came close in the 22nd minute when Glenn Whelan’s ball into the box was flicked on by Dave Kitson into the path of Abdoulaye Faye, whose own header flashed wide of target.
Danny Higginbotham then took his turn to head just over from another Whelan set-piece while at the other end Pavlyuchenko sent a weak shot into the arms of Sorensen.
Whitehead was handed his first booking by referee Dean before Stoke called Spurs goalkeeper Heurelho Gomes into action for the first time, a Kitson header forcing the Brazilian to dive low to save.
The injured Pavlyuchenko was replaced by Gudjohnsen just past the half-hour mark but there were precious few other incidents of note in a first period which petered out.
All that changed after the break, with Gudjohnsen slotting away the opener seconds after the restart after Crouch had played him through with a delightful chip.
And things would get worse for the home side four minutes later when Whitehead was sent off for his second bookable offence after a challenge on Luka Modric in the centre circle.
Spurs were seizing control of the game and using their extra man advantage to surge forward, with Assou-Ekotto hitting a low shot which deflected narrowly wide – earning Corluka’s wrath.
Possibly still seething at the incident, Assou-Ekotto hauled down Kitson in the Spurs box four minutes later, earning the home side the spot-kick which Etherington converted to level.
Fuller should have completed a remarkable turnaround for the home side in the 70th minute when the ball bobbled his way across goal, but his left-footed shot screwed hopelessly over the bar.
And Stoke were made to pay in the 77th minute when Assou-Ekotto’s cross from the left was dummied by Gudjohnsen, allowing Kranjcar to race into the box and fire Spurs’ second past Sorensen.
Stoke boss Tony Pulis introduced Tuncay and Mama Sidibe but the latter fell over when he looked certain to score an equaliser at the death.