MIAMI -- First, Clint Barmes hit an inside-the-park homer to score three runs. Then 5-foot-7 Aaron Miles hit a grand slam. And to cap an afternoon of improbable achievements by the Colorado Rockies, they won. On the road.
With their fluky display of power, the Rockies improved to 2-15 away from Denver and snapped a 10-game losing streak by beating the Florida Marlins 8-3 Sunday.
"We needed a big game," Miles said. "We got it."
Jeff Francis (2-1) pitched 6 2/3 innings for the Rockies, who earned their first win since April 23. It came at the end of a three-city swing, allowing them to finish the trip 1-8.
"We definitely needed this one after all the tough losses we've had on the trip," Barmes said. The rookie scored twice and went 2-for-4, hiking his average to .404.
The Rockies entered the game with baseball's worst record and had lost seven in a row against Florida. They overcame an early 1-0 deficit to end that streak.
Barmes was credited with his fifth home run when his liner to short right field eluded Juan Encarnacion, putting the Rockies ahead 4-1. Miles hit his first homer with two outs in the fourth.
"One of the things we had been missing was a big hit," manager Clint Hurdle said. "Today we got two."
All eight runs came off Al Leiter (1-3), who needed 97 pitches to make it through four innings. The Marlins, leading the major leagues in ERA, gave up more than four runs for only the third time.
"I stunk," said Leiter, who was booed by the crowd of 17,538. "I wasn't comfortable with anything and didn't do anything well at all."
Juan Pierre tied a Marlins record for hits by going 5-for-5, all singles. He stole three bases and drove in a run.
"You know you got five hits," Pierre said, "but you're not really enjoying it like you would if we had won the game."
Francis threw 120 pitches while limiting Florida to seven hits and two runs, with one scoring because of a Colorado fielding lapse. The left-hander improved to 5-0 lifetime in day games with an ERA of 2.70. He's 0-3 with an 8.88 ERA at night.
"I've always liked going straight to the park when I wake up, instead of having to kill time," he said.
The Rockies, who came into the game batting .207 on their trip, went ahead to stay by scoring four runs in the second. Garrett Atkins doubled, Michael Restovich and J.D. Closser walked to load the bases, and Cory Sullivan hit a sacrifice fly.
Francis' sacrifice advanced runners to second and third with two outs, and Barmes hit a liner to right. Encarnacion charged and attempted a shoestring catch, but the ball got past him and rolled toward the wall, allowing Barmes to circle the bases and easily beat a relay throw home.
"I tried to get the ball and I missed it, simple as that," Encarnacion said. "It was real close."
Said Barmes: "I kept my head down and ran. It's a different feeling. I'll take it."
After Closser and Sullivan singled in the fourth, Leiter was a strike away from getting out of the inning, but he hit Barmes with an 0-2 pitch to load the bases with two out. Miles then pulled a 1-0 pitch over the scoreboard for his first grand slam and seventh career homer.
"I'm not one who wakes up in the morning hoping to hit a grand slam," Miles said. "I wake up hoping to get on base."
A defensive misplay led to the Marlins' first run after Pierre led off the first with a single. He broke for second as Francis made a pickoff attempt, then was safe at second when first baseman Todd Helton's throw sailed high.
Pierre stole third and scored on Luis Castillo's double. Florida's Damion Easley singled home a run in the seventh.
- Barmes' inside-the-park homer was the seventh in Rockies' history, and the first since April 5, 2000, by Tom Goodwin at Atlanta.
- Leiter is 0-3 in four starts at home this season with an ERA of 10.19.
- Florida's Lenny Harris singled in the eighth for the 195th pinch hit of his career, extending his major league record.