Mathieu Perreault had three assists, and Corey Perry added two for the Ducks. Radim Vrbata assisted on all three Phoenix goals.
Vatanen started Anaheim's second-period barrage with a slap shot from the right point that slipped through Greiss' legs to make it 2-1 with 14:16 left. Penner netted the next one, with a slap shot off a pass from Perry with 10:49 remaining. Getzlaf then got to a loose puck in the crease and scored to make it 4-1 with 9:05 to go.
That was it for Greiss. Smith came on and gave up one goal in the third period. Lindholm scored a power-play goal with a shot that hit the camera just inside the net to put the Ducks ahead 5-1.
Hanzal scored with Phoenix on a 5-on-3 advantage, and Ribeiro added a final goal long after the game's outcome had been determined.
Phoenix took a 1-0 lead 3:57 into the game. Korpikoski's shot from in front of the net was deflected by Hiller, but the puck came right back to Korpikoski, who knocked it in for his seventh goal of the season.
It was the fifth time in six games that Anaheim had allowed the first goal, and the Ducks have won all five.
Greiss made a diving stop of Nick Bonino's shot but left the net open behind him. Lindholm, who had just three goals for the season before Saturday, got the deflection and scored to make it 1-1 with 7:33 left in the first period.
NOTES: Getzlaf left in the second period because of a lower-body injury and didn't return. X-rays were negative. ... Anaheim has scored a combined seven goals in the second period in its past two games, including four at Nashville on Thursday. ... Smith was benched after Phoenix won only three times in his last 17 starts. ... Anaheim's Teemu Selanne was a healthy scratch. Selanne scored his 109th game-winning goal in the Ducks' 4-3 victory at Nashville on Thursday, moving him into a tie with Brendan Shanahan for fifth on the NHL career list.