The visitors took the lead in the 38th minute of the contest when referee Lee Mason adjudged James McCarthy to have fouled Bojan and the Spanish forward slotted in the resulting spot-kick.
Steven Naismith had a header cleared off the Potters’ line, Kevin Mirallas passed up a decent-looking chance to equalise and Leighton Baines’ drive was parried by Asmir Begovic, but Everton struggled overall to create much against a solid Stoke outfit.
In an inconsistent season, the Toffees have now lost three times at home in the league and won only one of their last six top-flight games.
Roberto Martinez’s men have slipped a place in the table to 12th, with Stoke – following only their second victory in seven matches – replacing them in 11th.
The opening half of the game on a cold, wet day on Merseyside was characterised more than anything else by players hitting the turf.
First to go down was Mirallas in the first few seconds, falling under the attentions of Bojan and having his appeals for a penalty waved away by Mason.
Romelu Lukaku and Ryan Shawcross then both hit the deck following a nasty-looking, accidental clash of heads. Both were able to continue, although Shawcross sported a head bandage.
John Stones – one of three Everton players, along with Mirallas and McCarthy, returning to the team after injury – subsequently required treatment after losing the ball when challenged by Glenn Whelan. The tackle had sparked a Stoke breakaway, but having received the ball from Bojan, Mame Biram Diouf could only fire into Tim Howard’s arms.
The lively Bojan then just failed to make contact with an attempted header in front of goal, before Phil Jagielka was on the receiving end of a firm Whelan challenge. The England defender was soon down again after jostling with Jonathan Walters in the box and looked hurt but soldiered on for the time being.
Marko Arnautovic was next to be tended to by medical staff after having his ankle stood on by Gareth Barry. Mason kept his cards in his pocket on that occasion but did not take much longer to make the first booking of the game, cautioning Naismith for a foul on Bojan, who then sent a shot over the bar.
The disjointed affair started to find some attacking rhythm as Mirallas saw a shot deflected narrowly wide, Barry meeting the resulting corner at the far post but miscuing things, sending the ball back across goal.
Walters was then yellow-carded for holding back Leighton Baines as he ran through and moments later Mason pointed to the spot at the other end as Bojan went to ground as he tried to get past McCarthy.
The Everton midfielder looked amazed by Mason’s decision and there were howls of protest from Toffees fans in the stands, but it did not bother Bojan, who finished coolly from the spot.
As the first half approached stoppage time – of which 10 minutes were added on – Begovic clumsily gave away a corner and when the ball subsequently came to Naismith, his header was nodded off the line by Steven Nzonzi.
A great opportunity then came Mirallas’ way in the additional period, but he put his shot the wrong side of the post.
The interval saw Jagielka come off for Antolin Alcaraz, while Howard, who had hobbled down the tunnel after the half-time whistle, was also substituted for Joel Robles.
Martinez’s side remained unable to show much intensity after the break, as Ross Barkley struck wide and Lukaku shot tamely to Begovic.
The Stoke goalkeeper did have to get down to push away a low Baines effort, but there was little to trouble him thereafter, while Nzonzi flashed an effort wide of Robles’ goal.
There was more tough tackling before the end, though, with Barry being booked for clattering Nzonzi and Potters substitute Charlie Adam receiving the same punishment for bringing down Mirallas.