Lionel Messi gave Barca the lead in the 19th minute and the champions looked set to collect a fifth straight league win before Lenglet was dismissed on his first league appearance for Barca following a VAR review.
Stuani levelled with a fantastic finish before half-time and five minutes after the restart the striker was on target again to give Girona hope of recording a famous victory.
But Gerard Pique rose highest in the penalty area to head home and salvage a draw for Barcelona, who move back above rivals Real Madrid into top spot despite dropping their first points of 2018-19.
Girona created the first clear chance in the fifth minute but Bernardo Espinosa headed an Aday Benitez corner into the arms of Marc-Andre ter Stegen.
Bono brilliantly denied Messi at the end of a dazzling solo run but he could do nothing about the Barca captain's opener, a fantastic first-time finish from 14 yards out after Arturo Vidal's fine work.
Barca were reduced to 10 men when Lenglet saw red following a VAR review, the defender having caught Pere Pons with his elbow, and Girona quickly made their man advantage count.
Benitez raided down the right wing and fed Stuani, who turned away from Pique and makeshift partner Sergio Busquets to slot a neat finish past Ter Stegen.
And Stuani put Girona into a shock lead in the 51st minute, slamming home a rebound after Ter Stegen had saved well from Portu.
Messi clipped the crossbar with a 30-yard free-kick before Pique drew Barca level with a clever header that set up a thrilling finale during which Ernesto Valverde's men were unable to break Girona's resistance.
What does it mean: Squad rotation backfires
Valverde left Barca stars Samuel Umtiti, Ivan Rakitic and Philippe Coutinho on the bench and while he could not have predicted Lenglet would see red in the first half, the decision did not pay off. Barca have to manage their squad the same way as anyone, but the champions have given up their two-point lead atop the table with Madrid drawing level thanks to their narrow defeat of Espanyol on Saturday.
Stuani continues to shine
Uruguay international Stuani outscored stars including Gareth Bale and Antoine Griezmann in LaLiga last season with 21 strikes and he has started 2018-19 in a similar vein of form. The former Middlesbrough striker has already hit five goals this season, more than anyone else in the division, and he deserved to be on the winning team.
Lenglet shows immaturity on debut
Given a rare opportunity to shine with Umtiti rested, Lenglet is unlikely to get another chance any time soon after his first-half red card. Even with the benefit of replays it was hard to tell whether there was any real malicious intent in his block on Pons, but he gave the referee a decision to make by thrusting out his arm in an unnatural manner. After consulting VAR, Jesus Gil Manzano felt Lenglet's foul deserved a red card.
Key Opta stats:
- Barcelona defender Gerard Pique has scored in each of his 12 LaLiga seasons (24 goals for Barcelona and two for Real Zaragoza).
- Stuani is the first player to score a brace against both Real Madrid and Barcelona in LaLiga in a calendar year in the 21st century.
- Bono made nine saves against Barcelona, the highest total by a goalkeeper in a LaLiga game this season (level with Tomas Vaclik against Levante)
- Barcelona are unbeaten in their last 39 La Liga home games (W32 D7), their longest run at Camp Nou in the competition since their 40 unbeaten home games between October 1991 and November 1993.