PHILADELPHIA (AP) — Dee Gordon was in a tight race with Washington’s Bryce Harper for the NL batting title heading into Sunday.

It wasn’t so close by the end of the day.

Gordon went 3 for 4 with a home run and a double to win the NL batting crown as the Marlins fell to the Philadelphia Phillies 7-2 Sunday in both teams’ regular-season finales.

"It feels kind of surreal," Gordon said with a smile. "I don’t think it hit me yet. It was an amazing feeling when I walked up the stairs and my teammates were ready and congratulating me. That felt really good."

Gordon, the son of former major league pitcher Tom Gordon, entered the day trailing Harper .330754 to .330606. The 5-foot-11, 172-pound speedster put the title out of reach early by doubling in the first, homering in the third and singling in the fifth. But he wasn’t going to the leave the game early.

"To come out today, knowing that he’s in a batting race and make a statement right out of the gate his first three at-bats, that truly speaks to who Dee Gordon is," Marlins manager Dan Jennings said. "He’s diligent, he’s loved by his teammates. He told me, he said, `Skip, I want to play through this, the best man will win, end of story.’

"He went out, took matters into his own hands and handled it right away. I just tip my hat, he’s a special, special player. A great kid."

Gordon became the first NL player to lead the league in batting average (.333) and stolen bases (58) in the same season since Jackie Robinson did so in 1949, according to the Marlins citing the Elias Sports Bureau.

Harper went 1 for 4 Sunday and finished at .330.

"To be put in the same category as Jackie Robinson is pretty humbling," Gordon said. "I’m just thankful for the opportunity."

Speaking of batting crowns, veteran Ichiro Suzuki, who has two AL titles of his own, pitched in the eighth inning of the loss, allowing a run on two doubles. He walked off to applause from the Philadelphia crowd.

"We talked about the situation had to be right, and so his last at-bat, he’s on deck and looks down at me and says, `You thinking about it?’ I said, `Oh yeah, it’s done, you’re in, you got it,"’ Jennings said. "And you know what, he’s earned that because of who he is and the player and the career that he’s had."

With the Phillies nursing a 3-2 lead in the bottom of the seventh, Aaron Altherr drove in three runs with a bases-clearing triple to break the game open. Altherr started the season at Double-A Reading.

"I was hoping to be able to move up, that was the goal I set for myself," he said. "It’s worked out great for me to gain all this experience, and I’m pleased with how I’ve played."

Philadelphia took the lead in the previous at-bat when Freddy Galvis walked with the bases loaded.

The Phillies finished a major league-worst 63-99 to secure the No. 1 pick in the 2016 draft but avoided what would have been the franchise’s first 100-loss season since 1961 (47-107). Philadelphia also finished below .500 for the third season in a row, its worst streak since 1994-2000.

"It’s nice to go out with a win, I didn’t want to lose 100," Phillies manager Pete Mackanin said. "I didn’t even want to lose 99."

Phillies reliever Luis Garcia (4-6) earned the win by stranding two runners in the seventh with a strikeout of Gordon, keeping the game tied 2-2.

Marlins reliever Andre Rienzo (0-1) surrendered all four runs in the seventh without recording an out. He issued three walks and allowed two hits.

After the game, the Phillies announced that they’ve offered contracts for the 2016 season to four of the six members of their current staff. Larry Bowa (bench), Steve Henderson (hitting), Bob McClure (pitching) and Juan Samuel (first base) have all been asked to return. Meanwhile, John Mizerock (assistant hitting) and Rod Nichols (bullpen) will not have their contracts renewed.

Marlins: SS Adeiny Hechavarria (hamstring) missed the season finale. He left a game on Sept. 2 with tightness and never returned this season. Despite being sidelined for nearly a month, Hechavarria set career highs in batting average (.281), home runs (5) and RBIs (48).

Phillies: 1B Ryan Howard (knee) did not play. He has been out since Sept. 14 after taking a throw off his left knee. Howard had improved but since he hadn’t seen live pitching, the Phillies shut him down. Howard, who turns 36 years old in November, hit .229 with 23 homers and 77 RBIs.

Copyright 2015 The Associated Press. All rights reserved. This material may not be published, broadcast, rewritten or redistributed.

Join our Newsletter for the latest news right to your inbox