The hosts had the better of the first half and Peter Crouch came closest to opening the scoring as he headed a Victor Moses corner wide before drilling a ferocious strike inches away from Ben Hamer’s post from outside the area.
Pearson looked to change the flow of the game by introducing Danny Drinkwater and debutant Esteban Cambiasso after the interval and it was his side that took the lead on 64 minutes against the run of play.
A swift counter-attack saw the ball spread to veteran full-back Paul Konchesky on the left and he delivered a low cross towards the back post where £8million man Ulloa was waiting to steer beyond Asmir Begovic.
Stoke pushed forward in search of an equaliser, but Leicester stood firm amid waves of late pressure as Hamer denied substitute Mame Biram Diouf before smothering at the feet of Moses.
Hamer was making his Premier League bow after Kasper Schmeichel suffered a knee injury on international duty, bringing to an end the Dane’s run of 141 consecutive league starts.
Stoke’s match-winner last time out against Manchester City, Diouf, was on the bench after a lengthy international trip with Senegal, so Bojan Krkic came into the starting line-up.
The game had barely got started when there was a lengthy stoppage after Ryan Shawcross and Jeffrey Schlupp accidentally clashed heads. The Stoke skipper came off worse and played on with a bandage wrapped around his forehead.
After a fairly quiet opening, the hosts began to exert more pressure on Hamer’s goal, with Steven N’Zonzi the first to try his luck, but the midfielder’s impressive run was not matched by his finish.
Probably the best chance of the half fell to Crouch in the 18th minute, when he was picked out by Moses from a corner but could only head wide from eight yards.
Leicester did not manage their first meaningful effort until the 27th minute, when Andy King let fly from 20 yards. Begovic dived but the ball was always going wide of the far post.
Crouch then almost added another to his collection of spectacular goals with an acrobatic volley from Glenn Whelan’s cross that flew just over the bar.
The former England man was in the mood and had Hamer scrambling in the 38th minute with an effort that just missed the far post.
Leicester had been outplayed in the first half, even if the score did not reflect that, and boss Pearson made two changes for the second half.
Cambiasso, who last season made 32 appearances for Inter Milan, replaced King while Drinkwater came on for the largely ineffectual Riyad Mahrez.
Cambiasso and Bojan found themselves on opposite sides again having met twice in Milan derbies in the 2012/13 Serie A season.
Bojan had been neat and tidy without making too much impact, but he showed good feet in the 52nd minute to create a shooting opportunity, only to direct his effort straight at Hamer.
Cambiasso’s presence certainly seemed to help Leicester take more control of the game, and they got their reward in the 64th minute.
Ulloa and Drinkwater combined to tee up Konchesky on the left, whose cross was guided home by the Argentinian striker.
It was a decent finish from Ulloa, who had to adjust and pull the ball back from behind him.
Stoke responded immediately and Bojan appealed after appearing to be tripped from behind right on the edge of the area, but referee Michael Oliver waved play on.
The Potters continued to create plenty of half-chances but the ball just would not fall for them, while Leicester defended manfully.
Diouf made his entrance in the 74th minute in place of Bojan while Jamie Vardy replaced Schlupp.
Stoke were beginning to leave gaps at the back and, after Drinkwater was denied by a combination of Begovic and two defenders, Dean Hammond saw his fierce effort fly just past the post.
Oussama Assaidi made his second Stoke debut on loan from Liverpool with eight minutes remaining but the Potters could not find a leveller as Hamer came to his side’s rescue in the 90th minute with crucial saves first from Diouf and then Moses.