In a match interrupted for 10 minutes by floodlight failure, the hosts went ahead early in the second half through an Alan penalty kick.
United struck back when Van Persie came off the bench and punished a blunder by Braga keeper Beto, who inexplicably rushed out of his goal and was caught in no man's land.
Rooney put United ahead from the penalty spot soon after and, with Braga in disarray, Hernandez made it 3-1 in injury time after a goal-mouth muddle.
Group H leaders United have 12 points from four games. Cluj and Galatasaray are on four points, with Braga on three.