Aaron Rodgers threw for 342 yards and three touchdowns and the Green Bay Packers' depleted defense flourished on the road, handing the St. Louis Rams their first home loss with a 30-20 victory on Sunday.