The former AC Milan forward, who has been jeered off several times recently after some lacklustre performances, opened the scoring in the 25th minute when he tapped in Romarinho's pass at the far post.
Seven minutes later, a Douglas pass split the Flamengo defence and sent Pato racing clear. He rounded Flamengo goalkeeper Felipe, seemed to have gone too wide but somehow managed to chip the ball between a defender and a post from near the goal-line.
Flamengo, under former Brazil coach Mano Menezes, were never in the game and conceded further goals in the last 15 minutes scored by Romarinho and Paolo Guerrero, from a penalty.
Corinthians moved up to fifth with 29 points from 17 games, two behind leaders Cruzeiro with Gremio, Atletico Paranaense and Botafogo sandwiched in between. Flamengo, who claim to be Brazil's most popular club, dropped to 15th, only two points clear of the relegation zone.
Former Brazil coach Dunga's Internacional drew their sixth game in a row, 0-0 at Coritiba, to stay seventh, finishing with 10 men after defender Alan was sent off in the second half. Botafogo and Sao Paulo also played out a goalless draw at the Maracana.