"It was a good night," Lynn said. "We had a good plan and I was able to make some pitches. [Catcher Yadier Molina] and I, we were working along together really well, so it was good."
The 26-year-old right-hander has quietly built up an 8-1 record with a 2.76 ERA through 12 starts this season. He and Wainwright are the only two veterans in a rotation that features three rookie starters. The Cardinals entered the game with the league's best ERA at 2.99.
"There's healthy competition, but not jealousy," Cardinals manager Mike Matheny said. "These guys aren't worried about who's getting the headlines and all the attention. It's just not what they're all about."
Molina made the most of his borrowed time as he had a hand in three of the Cardinals seven runs, including a 376-foot solo shot in the fifth inning.
The catcher was handed an undisclosed fine and a one-game suspension just before game time, which he was scheduled to serve on Monday night. He appealed the suspension, pushing it back until the process is complete. He went 2-for-4 with two RBIs, raising his batting average to a National League-best .350.
"He's an incredibly motivated person," Matheny said. "He wanted to be able to do what he does behind the plate on a daily basis and also be a major contributor on the offensive side."
The Cardinals knocked around Arizona pitcher Trevor Cahill for five innings, racking up nine hits and five runs in that span.
"You've got to execute a certain way consistently," said Arizona manager Kirk Gibson. "Everyone knows they're a good-hitting ballclub, certainly with runners in scoring position. … Give those guys some credit. We've got to execute better and keep the ball down, and we were unable to do that tonight."
Reliever Randall Delgado took over for Cahill in the sixth, but the St. Louis bats stayed hot as Carlos Beltran sent a two-run homer to right field. Beltran also hit an RBI single in the fourth, one of four Cardinals RBIs that came with two outs on the board.
"We've got the best record in baseball, so I think we've been doing a pretty good job hitting-wise overall," Beltran said. "The beginning of the season, probably, we weren't getting a lot of hits and hits with guys in scoring position, but it seems like right now everything is going our way."
Lynn stumbled briefly in the sixth when he allowed Gerardo Parra to double on a sharp grounder to right field, and then Parra scored the lone Arizona run on an RBI groundout. Lynn retired the next batter, but he walked another before retiring Cody Ross to end the inning. He went 1-2-3 in the seventh to complete his night.
"I would have liked to have kept going," Lynn said. "You never want to come out of the game. Even when you're doing bad, you think you can do better. It's just part of being a competitor."
"He was mad at me for taking him out when I did," Matheny said. "That's good. I like it. He should want to keep pitching and that's gonna happen throughout this season, just not in a game like today."
Trevor Rosenthal relieved Lynn for the eighth and allowed a double, striking out one. Edward Mujica came on in the ninth to close the game. Rosenthal and Mujica hadn't been called on in relief since last Tuesday and Wednesday, respectively, keeping the Cardinals' top relievers fresh.
Matt Carpenter continued his excellent run as the Cardinals' leadoff batter. He went 3-for-4, tying his a career high with a 12-game hit streak, and scored three runs. Carpenter has reached base in 31 of 34 games batting first and leads the team with 21 multihit games.
"I'm enjoying it," Carpenter said. "I'm just trying to do my job getting on base for those big guys behind me to drive me in and give us a chance to win every night. That's my job to get on base as many times as I can."
David Freese also extended his own hit streak to 13 games, currently the longest active hitting streak in the Majors. He had an RBI single in the third and walked once.
The Cardinals held on to baseball's best record and evened the season series with the Diamondbacks at two wins apiece.