Finally, though, the string was broken in the bottom of the 10th inning when Chad Tracy launched a home run into the right-field stands to give the Arizona Diamondbacks a 1-0 victory over the Royals.
Tracy's dinger came on a 0-2 pitch from reliever Yasuhiko Yabuta.
"It was a changeup. I wanted a groundout or a swing and a miss," Yabuta said through a translator. "It was a bad pitch."
Tracy rounded the bases and jumped into a band of teammates at home plate as 33,323 fans roared their approval. The celebration set the scene for the fireworks that followed in the hot Arizona air.
"That's my first big league walk-off home run," Tracy said. "I don't think there's any better feeling in baseball than winning a game with a walk-off home run."
In a touch of irony, the victory went to Billy Buckner, a right-hander the Royals traded last winter for Alberto Callaspo. Buckner had just been recalled from Triple-A Tucson and worked the 10th inning in his D-backs debut.
Zack Greinke and Arizona left-hander Doug Davis amassed long lines of zeros on the scoreboard, each throwing seven innings before being relieved.
"Davis kept us off-balance, Zack pitched out of jams. A little wild but didn't give up any damage," Royals manager Trey Hillman said.
Greinke proved to be a nimble dodger. Having uncommon control problems, he loaded the bases in both the second and third innings. Each time he escaped.
His most satisfying moment came in third. After two strikeouts and Stephen Drew's single, Greinke issued two walks to fill 'em up.
"Just a good hitting team. They're usually aggressive, so I was trying to make good pitches and not give them any pitches to hit," Greinke said.
Now, however, there was no room on the bases and Mark Reynolds was up.
"I got myself in a jam just pitching around people," Greinke said. "With him, I got 2-2 and I just had a feeling he'd chase a high fastball, and I threw a fastball right at his stomach, middle away, and he took it.
"And I was like, 'Golly, I don't know how he took it.' So I threw another one to the same exact spot and he swung."
Yep, on what could have been ball four to force in a run, Reynolds went down swinging.
"It was exciting," Greinke said.
Through seven innings, Greinke had walked a career-high seven (one intentionally), but he gave up just three hits, all singles. That was it. After 111 pitches, Greinke yielded to Ramon Ramirez.
Davis, making his fifth start since returning from thyroid cancer surgery, also wiggled out of jams. In the first inning, a walk and Alex Gordon's single plus a wild pitch put runners at second and third to no avail.
After his seven innings, Davis was relieved by right-hander Chad Qualls. Davis survived six hits and four walks by forcing the Royals to strand nine runners.
"He takes his time releasing the ball," said Joey Gathright, who had two of the Royals' hits. "Most of the time, you expect something hard but you get 82 [mph]. You've just got to stay back. He pitched well."
As the game went into extra innings, the Royals got a break but couldn't take advantage of it. Mark Grudzielanek's line drive off Buckner was caught at grass-top level by right fielder Justin Upton.
Umpire Ted Barrett ruled Upton trapped the ball and Grudzielanek had a one-out single. After D-backs manager Bob Melvin objected, Barrett called a council of all four umpires, but the call stood.
"I guess the replay showed that he did catch it, but [Barrett] saw him short-hop it. If you're not 100 percent sure, you want to try to get it right," Melvin said. "It was a tough call for anyone on the run like that. I give Ted credit for trying to get it right."
The single came to naught. Gordon, who had two singles earlier, rapped a double-play grounder.
The top of the 10th was over. A few minutes later, the bottom of the 10th -- and the game -- would be as well.
Dick Kaegel is a reporter for MLB.com. This story was not subject to the approval of Major League Baseball or its clubs.