Rafa Silva put Braga ahead in the 13th minute as the midfielder slotted past Alireza Haghighi after good work by Alan, but Penafiel managed to restore parity before the half-hour mark.
Rabiola found the net from the penalty spot after being tripped by Andre Pinto, though Braga were ahead again just before the break as Aderlan Santos headed past the Iranian goalkeeper.
And the floodgates opened after half-time, with Felipe Pardo netting following a clever move involving Rafa and Alan in the 55th minute, while Pinto added number four a few moments later to atone for his earlier mistake.
Braga's fifth had a hint of fortune about it as Luiz Carlos' strike took a huge deflection off Joao Martins and crossed the line with 18 minutes to go.
And Sami completed the rout in the 81st minute as he turned home Pedro Tiba's cross, with Braga leaping back above Belenenses and up to fourth.
Sporting Lisbon sit a point further off after cruising to an easy 3-0 win over visitors Vitoria Setubal, with Islam Slimani netting twice.
The Algerian finally put Sporting ahead in the 62nd minute as he burst between a couple of defenders and diverted a left-wing cross into the far side of the goal.
Fredy Montero added their second in the following minute with a sublime long-range effort and Slimani capped off a good display at the death.
Latching on to a cross once again, this time from the right, Slimani nodded past the goalkeeper to secure all three points after a straightforward day for his team.
The day's only other match saw Belenenses host struggling Arouca, held to an underwhelming 0-0 draw.
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.