The high-flying hosts broke the deadlock through Ruben Micael with half an hour played before Felipe Pardo settled the contest with a quickfire brace early in the second half.
Micael completed his own double 20 minutes from time to leave Braga 11 points clear of sixth-placed Belenenses in fourth with six matches remaining.
Third-placed Sporting Lisbon remain seven points better off than Braga thanks to a 2-1 victory at Vitoria Setubal.
Marco Silva’s team grabbed an early advantage when Carlos Mane opened the scoring after six minutes and Junya Tanaka made it 2-0 as half-time approached.
Suk Hyan-jun reduced the arrears two minutes after the restart, but Vitoria could not increase the six-point cushion between themselves and the drop zone.
The match finished as a 10-a-side affair as Vitoria's Frederico Venancio and Sporting's Ewerton collected second bookings in the second half.
Second-bottom Gil Vicente could not make the most of Penafiel and Vitoria's defeats as they lost 3-2 to Nacional.
Marco Matias put the mid-table outfit ahead in the 29th minute and Ali Ghazal netted midway through the second half.
Both of those advantages were cancelled out by Nwankwo Simy and Nacional played the final quarter of an hour with 10 men after Zainadine Junior was sent off.
But Matias had the final word eight minutes from time to deal a cruel blow to leave Gil Vicente four points shy of safety.
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.