"Some places you see the ball better and you feel a lot more confident," Piazza said. "I see the ball well here. Other than that I really can't explain it."
Piazza went 3-for-5 as is 45-for-100 at Coors Field with 37 RBIs.
"Piazza can hit in here in any uniform," Colorado manager Don Baylor said. "He's been with three different clubs, but when he comes in here he is able to put that out of his mind and hit the way he always does."
Rick Reed (13-7) won despite allowing seven runs and 12 hits in six innings. Mel Rojas pitched two innings and John Franco finished for his first save since July 29, his 22nd in 28 chances.
Terry Shumpert walked leading off the ninth and Kirt Manwaring sacrificed, with Franco just throwing him out at first. Darryl Hamilton then took a called third strike and Neifi Perez lined out to shortstop.
"We needed every hit we got," New York manager Bobby Valentine said. "We really needed a stop from our bullpen. Rick had a lead and couldn't get the ball down. Mel Rojas and John Franco came in a put up three zeros, and that is what we needed."
Pedro Astacio (10-11), who had won his previous three starts, allowed eight runs and nine hits in 5 1-3 innings, but just three runs were earned. He struck out five to raise his season total to a team record 127, one more than Bruce Ruffin fanned in 1993.
John Olerud was 2-for-3 with a three-run double, extending his hitting streak to a 21, most in the NL this season and three short of the team record Hubie Brooks set in 1984.
Olerud's .345 average leads the NL. Colorado's Larry Walker, 2-for-4 with two-run homer, is second at .341.
While Astacio struck out the side in the first, he walked Todd Hundley with two outs and allowed Piazza's 20th homer, his 11th with the Mets.
Colorado made a pair of costly errors in the second as New York went ahead 7-0. Brian McRae reached leading off when first baseman Todd Helton dropped the throw, Reed singled to deep shortstop and McRae scored when second baseman Mike Lansing booted Tony Phillips' grounder.
Alfonzo singled, loading the bases, and Olerud doubled to left. Piazza capped the inning with an RBI single.
"The second inning for them killed us," Hamilton said. "We spotted them seven runs and it was too much for us to overcome."
Walker hit his 15th homer in the fourth, and Colorado closed to 7-6 in the fifth. Hamilton hit a two-run homer, his second of the year and first since the Rockieacquired him from San Francisco last week for Ellis Burks, and Dante Bichette had a two-run double.
Alfonzo's sacrifice fly made it 8-6 in the sixth, but Jeff Reed singled home a run in the seventh.
©1998 The Associated Press. All Rights Reserved. This material may not be published, broadcast, rewritten, or redistributed