The January signing made it four goals in three games by edging the Toffees in front and then regaining their lead after Eric Maxim Choupo-Moting found a leveller.
Just a second away win of the season for Everton, in front of a record bet365 Stadium crowd, was done the hard way as Tosun's second of the match came six minutes from time.
Stoke, who had earlier been reduced to 10 men after Charlie Adam was controversially shown a straight red for his challenge on Wayne Rooney, remain inside the bottom three and are now winless in seven.
Everton squandered their only chance of the first half inside the opening seven minutes, as Tom Davies ghosted away from Adam but directed his free header over the bar from close range.
The hosts saw more of the ball in dangerous positions from that point on, with Peter Crouch testing Jordan Pickford from 18 yards at the end of a counter, before failing to convert a headed chance at the back post.
That would prove to be it in terms of the first-half chances at a snowy bet365 Stadium, though there was plenty of debate to be had had during the interval as Adam was dismissed with 30 minutes on the clock.
The Scotland international, brought back into the side today as one of five changes from last time out, came out second best in a 50-50 with Rooney and was sent off for what referee Martin Atkinson perceived to be reckless play.
Everton, seeking a first Premier League double over Stoke in close to a decade, started to turn the screw a little in the second half as they made their man advantage count.
Rooney got in a couple of shots on target, the second from a 30-yard free kick that Jack Butland easily got behind, while substitute Dominic Calvert-Lewin's first touch let him down when played through by Rooney.
Johnson fired a shot at Pickford at the other end as City themselves went in search of a breakthrough goal, but it was proving to be a tight affair as the final quarter of the match approached in Staffordshire.
After a dominant spell, though, with Butland being needed to slap away a Michael Keane drive, the visiting side finally found a way through with 21 minutes to play.
Butland did well to keep the initial attempt out, and Calvert-Lewin somehow failed to turn the rebound over the line, but Tosun was there to smash home from a few yards for what looked like being the game's key moment.
City showed great character to hit back soon after through Choupo-Moting, however, as the forward stuck out a leg to help the ball past a stranded Pickford from close range, just five minutes after being introduced from the bench.
There was still time for yet another twist, with Tosun bagging his second of the afternoon late on after getting enough on Theo Walcott's cross to beat Butland, who should have done better having got something to the ball.
STOKE CITY (4-3-3): Butland; Johnson, Zouma, Shawcross, Stafylidis; Allen, Adam, Badou; Shaqiri (Berahino 76'), Crouch, Ramadan (Choupo-Moting 72', Jese 80')
EVERTON (4-3-3): Pickford; Baines, Keane, Jagielka, Coleman; Davies (Calvert-Lewin 53'), Gueye, Rooney (Schneiderlin 87'); Bolasie (Holgate 92'), Tosun, Walcott