With Juan Pierre on second, two outs and first base open, Villanueva went right after Stanton, starting him off with two pitches in the strike zone and going right back into it with the count 2-2. Stanton made him pay as he singled to left-center to score Pierre and tie the game at 3. Stanton advanced to second on the throw home.
Cubs manager Dale Sveum was asked why he didn't walk Stanton, who had already hit the first of two homers at that point on top of going deep on Saturday.
"Not in that situation. I just felt [Villanueva] had the pitches to pitch around him and keep the ball away from him," Sveum said. "I didn't have my left-hander [James Russell]. He was down today, so I didn't have anybody for [left-handed-hitting Greg] Dobbs, and I didn't want to put the winning run on either."
Villanueva then intentionally walked Dobbs in the same situation in order to face Donovan Solano.
Solano hit a line drive over shortstop Starlin Castro that reached the outfield and allowed Stanton to score. The play was initially ruled an error on Castro, but later changed to a hit and an RBI that gave Miami a 4-3 lead.
"That ball -- he put some movement on it," said Castro, who was 2-for-4 with a two-run double at the plate. "I think it almost hit my face."
Villanueva ultimately made it out of the inning. He gave up two runs in both the first and sixth, but was stellar in between. After Stanton's first-inning homer, he retired 14 of the next 15 batters, walking Stanton as the only man he failed to retire during the stretch.
"I made a couple of mistakes, and he took advantage of it," said Villanueva (1-1), who was hit with the loss and finished throwing six innings, giving up four earned runs on four hits and three walks while tying a career high with eight strikeouts. "Hitters like that are supposed to. You don't want to get in a situation for a guy like that to beat you, but I tried to make a pitch and he got it.
"In the first inning, just a bad changeup. It just came back to his bat. In the sixth inning, I felt like I had to put him away there, and just left one where he could reach and he did what he's supposed to do."
Marlins starter Ricky Nolasco (2-2) allowed three Cubs runs in the first three innings, but responded by retiring the last 15 batters he faced in his seven innings, including the last three batters he saw in a two-run third.
Miami added insurance runs in the bottom of the seventh and eighth. Nick Green hit a solo home run, his first of the year, in the seventh, and Stanton blasted his second of the afternoon in the eighth. Both came off reliever Kameron Loe.
Stanton went 3-for-3 with four RBIs in his seventh career multi-homer game, and is currently on a five-game hitting streak in which he's 8-for-18 after an abysmal start to the season.
"This guy is a special player -- a game-changer," Marlins manager Mike Redmond said. "It was just a matter of time."
Said Castro of Stanton: "He killed us."
Chicago tried to make some noise down 6-3 in the top of the ninth off Marlins closer Steve Cishek. Dioner Navarro led off the inning with a home run to right, but Cishek then induced Luis Valbuena and Darwin Barney to ground out to short, and took a one-hop comebacker from pinch-hitter Julio Borbon to finish off the Cubs.
The Cubs got two runners on in the top of the eighth, but couldn't score off Marlins reliever Mike Dunn. Castro and Anthony Rizzo hit back-to-back singles with one out, but Dunn got Alfonso Soriano and Nate Schierholtz to fly out to left.
Down 2-1 in the third, Chicago scored two runs to take the lead when Castro drove in Villanueva and David DeJesus -- who both reached with singles off Nolasco -- with a sharp double down the left-field line that snuck past a diving Chris Valaika at third.
The Cubs struck first in the game when Rizzo, who went 2-for-3, hit the right-center-field wall on one hop for an RBI double. The Parkland, Fla., native went 5-for-13 with two homers, a double and five RBIs over the homecoming series.