The Robins started the day 10 points clear of second-placed Preston North End, and the Johnstone's Paint Trophy winners looked to be extending that advantage when Marlon Pack tucked away an early penalty.
However, on-loan Jabo Ibehre equalised for the visitors just before half time and Josh Scowen's early second-half strike looked to have given Barnsley victory before Bryan's strike, six minutes from time, at Ashton Gate.
City stay 11 points clear of Preston and 12 clear of Swindon Town, neither of whom were in action on Saturday.
Rochdale kept their hopes of a top-six finish alive after two goals in as many minutes from Rhys Bennett and Jack O'Connell were enough to see off Yeovil Town, who are now 10 points from safety at the foot of League One.
Bradford City remain firmly in the hunt for a playoff berth as Billy Clarke's brace gave the Bantams a narrow win over Oldham Athletic at Valley Parade. Bradford still have two games in hand on a number of sides above them.
Leyton Orient boosted their hopes of survival after coming from behind to beat 10-man Port Vale at Brisbane Road. A penalty from David Mooney, Neill Collins's own-goal and a late Dean Cox strike gave the O's a 3-1 victory to move them within a point of safety.
Notts County are just above the relegation zone, but were denied victory at home to Scunthorpe United after Niall Canavan's late effort ensured that Mark Robins's side left Meadow Lane with a share of the spoils.
Results in full: Bradford City 2–0 Oldham Athletic, Bristol City 2-2 Barnsley, Chesterfield 1–0 Walsall, Crawley Town 1–2 Gillingham, Leyton Orient 3–1 Port Vale, Notts County 2–2 Scunthorpe United, Peterborough United0–1 Coventry City, Rochdale 2–1 Yeovil Town, Sheffield United 1–2 Crewe Alexandra