Updated

Craig Biggio joined the 3,000 hit club and Carlos Lee hit a grand slam in the 11th inning as the Houston Astros beat the Colorado Rockies 8-5 Thursday night.

Biggio met the 15-year-old Frankie Velasquez through his work with The Sunshine Kids Foundation, an organization which helps children with cancer, when Velasquez was 6 and has kept in touch with him since.

"He's one of a kind," Velasquez said. "He's done so much for us Sunshine Kids and I'll always be grateful to him. Seeing this happen was a once in a lifetime experience."

Click here for more MLB coverage from FOXSports.com.

Lee's drive to left field off Brian Fuentes (0-3) came on the first pitch. Biggio singled in the 11th — for just his second career five-hit game — and Hunter Pence followed with a double before Lance Berkman was hit by a pitch to load the bases.

"I think it was the way it was supposed to be done," Biggio said as he choked back tears. "To have it happen here — that was a special atmosphere that was out there today."

In other NL games, it was: Los Angeles 9, Arizona 5; Philadelphia 8, Cincinnati 7 in 10 innings; and Florida 9, Pittsburgh 7. St. Louis' game at the New York Mets was rained out.

Troy Tulowitzki's solo shot off Brian Moehler (1-2) to lead off the 11th inning made it 5-4. The loss extends Colorado's season-high losing streak to seven games.

Biggio became the 27th player to reach the mark with his single to center in the seventh inning. The second baseman was thrown out trying to stretch the play into a double on his third hit of the night, which tied the game at 1.

"I couldn't have scripted it any better," Biggio said. "There are a lot of things that have happened over the past 20 years but tonight is the best."

Biggio is the first player to reach 3,000 hits since Rafael Palmeiro on July 15, 2005, with Baltimore. He passed Roberto Clemente for 26th on the career list with his fourth hit, a ninth-inning single.

The 41-year-old, who entered the season needing 70 hits to reach the milestone, has played his entire 20-year career with the Astros, making him the longest tenured player in franchise history.

Biggio's milestone came one day shy of the 19th anniversary of his first career hit, a single off Orel Hershiser on June 29, 1988.

Fireworks went off, the counter in left-center field with red illuminated numbers ticked to 3,000 and a giant banner with his picture and "3,000" that spanned from the train track to the roof of the stadium was unveiled after the hit.

He dragged Jeff Bagwell, a teammate for 15 seasons, onto the field after reaching the mark. After all the two went through together, he wanted to share the moment with him.

"I'm just so proud of him," Bagwell said. "I just want everyone to appreciate that that's the kind of person he is off the field as well the kind he is on it. I'll never forget this moment."

Marlins 9, Pirates 7

Scott Olsen struck out his first five batters and finished with 10, one shy of his career high, as host Florida avoided a three-game sweep.

Mike Jacobs and Hanley Ramirez each had three of Florida's 15 hits, and Matt Treanor hit a two-run homer, his first since June 20 last year off Baltimore's Daniel Cabrera.

Florida led 5-0 after two innings and 8-2 before Pittsburgh scored five runs in the seventh. Adam LaRoche had a two-run homer for the Pirates, who lost for the sixth time in eight games.

Olsen (6-6) gave up five runs and seven hits in six-plus innings, becoming the first Marlins pitcher to start a game with five strikeouts. Kevin Gregg pitched the ninth for his 15th save.

Zach Duke (3-7) allowed six runs and 12 hits in four innings, dropping to 1-2 in six June starts.

Dodgers 9, Diamondbacks 5

Russell Martin spoiled Randy Johnson's return with a home run and finished with three hits for visiting Los Angeles, which took three of four in the series.

Randy Wolf (9-6) allowed three runs in six-plus innings and Jeff Kent drove in three runs for the Dodgers, who opened a half-game lead over idle San Diego in the NL West. Arizona trails Los Angeles by one game.

Johnson (4-3), who went on the 15-day disabled list June 16 retroactive to June 11 with muscle tightness in his buttocks and a sore back, never looked comfortable in his first start in 18 days.

The 43-year-old left-hander allowed four runs — three earned — and six hits in three innings. He struck out two, walked two and hit a batter with a pitch.

Phillies 8, Reds 7, 10 innings

Jimmy Rollins had four hits, including a game-winning RBI single in the bottom of the 10th inning for Philadelphia.

Chase Utley hit a pair of two-run homers for the Phillies, who pulled within three games of NL East-leading New York.

Alex Gonzalez, Adam Dunn and Edwin Encarnacion each homered for Cincinnati, which finished its road trip at 3-6.

Pinch-hitter Rod Barajas led off the 10th with a walk against Victor Santos (1-3). One out later, Abraham Nunez laced a single to left field. Rollins worked the count full before lacing a line drive to the right-center field gap to end the game.

Clay Condrey (3-0) escaped a first-and-second, two-out jam in the 10th to pick up the victory