Mark McGwire wasn't there because an aching corn wouldn't allow him to play. What he missed yesterday was a great game. What the St. Louis Cardinals got without him was a tough and discouraging loss.

"Mark's so good and he's good for this series. I hope he's okay. But if he wants to stay away for one more game, that would be fine," the Cubs' Mark Grace said after his ninth-inning double beat the McGwire-less Cardinals, 4-3, in Chicago.

McGwire didn't even come to the park, staying at the hotel to rest an infected corn on his right foot and treat it with antibiotics. Eli Marrero played first base for him.

Still, the Cardinals were on the verge of victory, taking a 3-2 lead into the ninth. That's when the Cubs' Glenallen Hill pinch-hit a one-out homer to tie the game against Ricky Bottalico (1-2).

Jose Hernandez singled to left and raced around with the winning run when Grace drove a double into the right field corner, sending a crowd of 40,478 -- the largest of the season at Wrigley Field -- into delirium.

"Mark [McGwire] will be back. He didn't lose this game," Bottalico said. "I did. All I had to do was get three outs."

Felix Heredia (3-0) pitched a scoreless top of the ninth. And then Hill, one week off the disabled list, tied it with a liner to left-center, his seventh career pinch-hit homer.

PHILLIES 2, ROCKIES 0: In Philadelphia, Curt Schilling bounced back from his ninth-inning nightmare in New York, pitching a four-hit shutout for his fifth straight complete game.

Schilling (8-2) struck out nine and walked one in his first start since blowing a 4-0 lead in the ninth inning of a 5-4 loss to the Mets last Sunday. It was his first shutout and major league leading sixth complete game, more than any other team.

Last week at Shea Stadium, John Olerud completed a five-run inning with a game-winning single that sent Schilling off in a rare devastating collapse.

With an extra day's rest because of an off-day this week, Schilling showed no lingering effects. He retired 22 of the last 24 batters, striking out Larry Walker, Dante Bichette and Castilla to end the game to tie Houston's Jose Lima for the NL lead in wins.

DIAMONDBACKS 8, METS 7: Jay Bell hit a tiebreaking three-run homer in the sixth inning and visiting Arizona held on to win its fifth straight.

South Korean Byung-Hyun Kim, 20, made his major league debut in the ninth and earned the save by striking out Mike Piazza to end the game.

DODGERS 2, BRAVES 1: Carlos Perez snapped a personal six-game losing streak against Atlanta and Los Angeles used two bases-loaded walks by Tom Glavine to win on the road.

Perez (2-6) beat the Braves for the first time since Aug. 6, 1995, when he was a rookie in Montreal. He gave up two hits and two walks in five-plus innings.

PIRATES 5, ASTROS 1: Francisco Cordova pitched six strong innings for his first win since September, and Warren Morris drove in three runs in Pittsburgh.

EXPOS 7, GIANTS 4: Mike Mordecai homered and Chris Widger had two RBI to help host Montreal win its fourth straight game.

REDS 8, MARLINS 1: Jason Bere (3-0) and two relievers combined on a seven-hitter in Miami where the game was delayed 71 minutes because of rain.

Pokey Reese established a career high with four of Cincinnati's 17 hits.

Mike Lowell went 0 fo -4 with an error for Florida in his first came back after surgery for testicular cancer.

PADRES 12, BREWERS 3: Damian Jackson scored two runs and drove in two in San Diego's eight-run third inning and Matt Clement (1-5) won his first game of the year to hand Milwaukee its fifth straight home loss.