CHICAGO -- Francisco Liriano's 123rd pitch of the night headed to the plate, and Adam Dunn made solid contact.
The ball streaked toward the left side of the infield. For an instant, it appeared Liriano's no-hit bid might be shattered with one out to go.
Shortstop Matt Tolbert took two steps to his right, gloved the liner, spun around and raised the ball in triumph with his bare hand. Then he sprinted to the mound, where the pitcher was being mobbed by teammates, to personally deliver the prize.
On a cold night at U.S. Cellular Field, Liriano wiped away the memory of all those shaky outings this season, pitching a no-hitter that led the Minnesota Twins over the Chicago White Sox 1-0 Tuesday.
"It was a crazy night," said Liriano, who might have been pitching to save his spot in the rotation following a 1-4 start with a 9.13 ERA coming in.
"When I go out there I try to think positive," he said. "I don't want to think about, `They're going to put me in the bullpen.' I just try to do my best."
Liriano was running low on energy in the final innings, even as his pitches were still baffling the hapless White Sox and pressure mounted.
With the no-hitter within reach and his pitch count climbing, he relied on defense to help him finish.
"To be honest I was running out of gas," he said. "I just thank my teammates that they made some great plays behind me tonight."
Liriano (2-4) walked six and struck out two in his first complete game in 95 major league starts. The 27-year-old left-hander, who reached the big leagues in 2005, matched his career high for pitches.
"I can't explain it. I feel so nervous and so happy right now," Liriano said.
He survived a rocky ninth inning that began when Brent Morel grounded to shortstop and Tolbert made a one-hop throw that first baseman Justin Morneau scooped. Juan Pierre walked and Alexei Ramirez popped to shortstop.
Liriano fell behind Dunn 3-0 in the count, then got a pair of strikes. After a foul ball, Dunn followed with perhaps the hardest-hit ball off Liriano all night.
"I thought it was a base hit," Liriano said. "When I saw him catch it, I was so excited."
Dunn dropped to 0 for 16 against left-handers this season.
"As soon as I hit it, I saw him, and it was right to him," Dunn said. "That's pretty much the story of the day. There were some balls that, again, they made some great defensive plays."
For Tolbert it was the end of an unforgettable experience. He got the start at shortstop as the Twins moved Alexi Casilla to second base.
"I was excited and a little nervous. It's not every day that you get to play behind a no-hitter," Tolbert said. "I was thinking somehow we had to get this guy (Dunn) out. I know he's so dangerous. I was playing him up the middle a little bit, and he hit it in the right spot."
Liriano, the reigning AL comeback player of the year, was backed by Jason Kubel's fourth-inning homer. He threw just 66 pitches for strikes but kept Chicago off-balance in a game that took just 2 hours, 9 minutes.
In his previous start, he lasted three innings in an 8-2 loss to Tampa Bay. The shutout lowered his ERA for the season to 6.61.
Liriano, 3-0 against the White Sox last season, walked Pierre leading off the first and Carlos Quentin with one out in the second, but both were erased on double plays. Chicago put two on in the fourth, and center fielder Denard Span raced into left-center to grab Quentin's long drive.
With two outs in the seventh, third baseman Danny Valencia went behind the bag and into foul territory to grab Quentin's hard hopper and then made a strong throw to first.
Minnesota turned its third double play in the eighth, when Morneau took an offline throw from second baseman Alexi Casilla and umpire Paul Emmel called Gordon Beckham out -- replays appeared to show Morneau missed the tag.
"I haven't looked at replay, but he said he tagged me on the shoulder," Beckham said. "I didn't feel him tagging me on the shoulder."
Ramirez hit two of the hardest balls off Liriano. He lined out to third in the first and sent a liner foul past third in the sixth.
Edwin Jackson (2-4) lost his fourth straight start despite allowing six hits in eight innings. Then with Arizona, Jackson no-hit Tampa Bay last June 26 despite walking eight.
It was the seventh no-hitter for the Twins-Washington Senators franchise and the first since Eric Milton's against the Angels on Sept. 11, 1999. It was the first no-hitter in the major leagues since Philadelphia's Roy Halladay's against Cincinnati in last year's NL division series.
The White Sox were no-hit for the 13th time, the first since they were beaten by Kansas City's Bret Saberhagen on Aug. 26, 1991.
Liriano was acquired in 2003 in the famously lopsided trade that also brought Joe Nathan to Minnesota in exchange for A.J. Pierzynski.
He burst onto the scene in 2006, going 12-3 with a 2.16 ERA and dominating overmatched hitters with an untouchable slider. But the violent delivery caused him to develop arm problems toward the end of that season and had elbow-ligament replacement surgery that November.
His road back has been a long and difficult one. He missed all of 2007, then struggled to regain his form over the next two years, leading some to wonder if he ever would make it all the way back after going 5-13 with a 5.80 ERA in 2009.
Jackson understood the pressure Liriano was feeling in the final inning.
"It's definitely one of those things. One hit away. One hit can be a great day or one hit can be an almost day," Jackson said. "He made his pitches when he needed to. He was great."
NOTES: Twins DH Jim Thome was put on the 15-day DL with a left oblique strain, and Minnesota will recall INF Trevor Plouffe from Triple-A Rochester. ... Seven players with batting averages under .200 started the game -- four for the Twins and three for the White Sox.