"I was just flat and undefined, wishy washy, all over the plate," Cole said.
The right-hander lasted four innings, his shortest outing of the season, as the Brewers beat the Pirates 7-4.
Cole (15-8) gave up five runs and eight hits. He walked one and struck out two.
"They were hunting fastballs early and they got some balls that they could get enough of the bat to," Pirates manager Clint Hurdle said. "They barreled some up. Some they stayed inside of and worked the other way for some hits. They took advantage of missed execution early."
Ryan Braun drove in a run with a single and Adam Lind drove in two with a double as Milwaukee grabbed a 3-0 lead before Cole retired a batter. Jean Segura drove in another run in the inning with a two-out infield hit.
Jonathan Lucroy's run-scoring single extended Milwaukee's lead to 5-0 in the second. Cole had surrendered five earned runs in a game only once before this season, on June 24, against Cincinnati.
Nelson (11-10) gave up four hits, didn't walk a batter and struck out six.
Nelson is 4-1 with a 1.72 ERA in five starts against the Pirates this year.
"He's shown us good stuff," Hurdle said. "There's usually one inning in there where we've been able to get after him. We didn't have that inning tonight."
Pedro Alvarez hit a leadoff home run in the eighth to cut the lead to 5-2.
The Brewers added two runs in the eighth. Aramis Ramirez and Kang hit back-to-back homers in the ninth.
Francisco Rodriquez recorded the final out for his 32nd save in 33 tries.
Brewers: Manager Craig Counsell said RHP Zach Davies likely will be the only call-up until Triple-A Colorado Springs finishes its season next Monday.
Ramirez played his first game at Miller Park since being traded to Pittsburgh from Milwaukee on July 23. Ramirez was in his fourth season with the Brewers before being shipped to the team for which he broke into the major leagues in 1998. Ramirez's went 0 for 3 against Nelson before homering off reliever David Goforth. "You can tell when you see those lazy popups to right field or breaking bats like I did, that means a pitcher's got a pretty good sinker going," Ramirez said of Nelson.
Pirates: RHP Rob Scahill has been recalled from his rehab assignment with Triple-A Indianapolis and reinstated from the 15-day DL. To make room on the 40-man roster, the club has reinstated RHP Casey Sadler from the minor league DL, recalled him to Pittsburgh and placed him on the 60-day DL with a right elbow strain.
Brewers: Domingo Santana was hit by a pitch for the second time in as many games. A fastball from Liz struck Santana in the left calf. On Sunday, he was hit above the left elbow.
Pirates: Jeff Locke (7-8, 4.46 ERA) is 4-3 with a 3.48 ERA in 10 career starts against Milwaukee. He's 2-1 with a 2.53 ERA in three starts this year versus the Brewers.
Brewers: Zach Davies will be making his major league debut. Milwaukee acquired the right-hander from Baltimore on July 31 for OF Gerardo Parra. He was 1-2 with a 5.00 ERA in five starts at Triple-A Colorado Springs. "I really don't think in your first big-league start it's necessarily who you're facing, it's how you handle how you feel," Counsell said. "It's real different because it's that first start. And you've realized the dream."