For six innings, Kyle Gibson was unhittable.
If it wasn't so early in the season, and if Gibson hadn't wasted so many pitches on walks, the Minnesota Twins right-hander might have been given the opportunity to finish what he started.
Gibson was forced to abandon his no-hit bid after the sixth, and the Baltimore Orioles didn't get their first hit until the eighth inning in Minnesota's 6-2 victory Saturday night.
The combined three-hitter enabled Minnesota to bounce back from an 11-inning, season-opening loss to Baltimore on Thursday.
Gibson (1-0) struck out six and walked five. Although the 30-year-old did not allow a runner past first base, manager Paul Molitor figured Gibson had labored enough after throwing 102 pitches just two games into the season on a cool night.
"We were trying to see how far we could take him," Molitor said. "We didn't want to go past 100 (pitches), 105 tops."
The final batter Gibson faced was Trey Mancini, who hit a sinking liner to left field that a diving Eddie Rosario got his glove under. The ball popped into the air, and Rosario snagged it with his bare hand.
Ryan Pressly worked a perfect seventh and got two outs in the eighth before Jonathan Schoop grounded a single up the middle.
That ended Minnesota's shot at the sixth no-hitter in franchise history, the first since Francisco Liriano beat the White Sox in 2011.
The way Gibson threw, he just might get another chance this season to go the distance in a no-hit bid.
"I saw all of his pitches and I think everybody else did too," Mancini said. "He mixed them really well and kind of kept us off balance and he located, which is the most important thing a pitcher can do."
Surprisingly, Gibson was disappointed with his performance.
"I don't normally like walking five in a game," he said. "It isn't ideal, but I guess it was OK tonight. Not the kind of outing I'd like to have, but it worked out."
Gabriel Moya gave up a double to Danny Valencia and a homer to Tim Beckham in the ninth.
Offensively, Minnesota hit three solo home runs off Andrew Cashner (0-1) in his Orioles debut.
Miguel Sano connected in the first inning, Jason Castro went deep leading off the third and Max Kepler made it 4-0 in the fourth with a drive to right field.
Signed as a free agent after spending the 2017 season with Texas, Cashner surrendered five runs, four earned, and six hits in five innings.
The right-hander allowed only 15 home runs in 166 2/3 innings last year and was second in the AL in fewest homers permitted over nine innings (0.89).
Pitching at Camden Yards, however, leaves little room for error.
"It's frustrating," Cashner said. "It's a small park, but I feel those balls, if they go a couple inches in or a couple inches away, it's an out."
Gibson has won six straight decisions over nine starts since Aug. 17.
After starting the 2017 season 0-4, Gibson was sent to the minors. Since his recall on May 22, he has excelled.
"He made a change in his approach a little bit," Orioles manager Buck Showalter said. "Some things that he did when he went down last year, and came back, it really helped him in the second half and carried over in the spring."
Twins: RHP Phil Hughes (left oblique strain) pitched four innings Saturday in a Triple-A spring training game. If he responds well, Hughes will likely pitch for Class A Fort Myers on April 5, manager Paul Molitor said.
Orioles: LHP Zach Britton ran Friday for the first time since undergoing surgery on his right Achilles tendon in December. "I feel good, feel normal," he said Saturday. ... DH Mark Trumbo (quad strain) will take batting practice in Florida on Monday and could appear in a spring training game on April 6. ... RHP Alex Cobb threw four innings Friday in extended spring training. His debut with the Orioles will be around mid-April.
Twins: Jose Berrios, who went 14-8 for Minnesota last year, starts in Sunday's series finale.
Orioles: Notorious slow-starter Kevin Gausman starts for Baltimore. The right-hander is 2-3 with a 5.88 ERA in 15 career appearances before May.