Jorge Jesus' men had been in imperious form at the summit of the Portuguese top flight, and looked set to maintain that when Anderson Talisca slotted home from the centre of the penalty area in the third minute.
Eder pulled Braga level on 28 minutes when he capped a quick counter-attacking move, before Salvador Agra completed the turnaround nine minutes from time.
Benfica felt they should have had a penalty late on for an infringement by Andre Pinto on Nicolas Gaitan, but the referee turned down the appeals.
Tempers flared on the touchline in stoppage time, with Enzo Perez and Danilo booked for their part - the former receiving his marching orders having seen yellow in the first half.
The result sees Braga climb to fifth, while Benfica's advantage over second-placed Porto has been reduced to a single point this weekend.
Sporting Lisbon maintained their unbeaten start to the season with a 4-2 victory over Maritimo, whose two goals came in the space of five second-half minutes courtesy of Moussa Maazou.
Estoril continue to struggle in the lower reaches of the division and suffered a 2-1 home defeat at the hands of Belenenses on Sunday.
After seeing Kleber cancel out Miguel Rosa's opener, Deyverson popped up on the hour mark to seal victory for the visitors.
In the day's remaining fixture, Nacional climbed above Academica with a 1-0 win - Marco Matias netting the only goal.
The result represented Nacional's first win in five league matches.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.