During spring training 2008, Delgado was diagnosed with a hip impingement, however, the Mets decided to keep him on the active roster. As in the previous year, Delgado began the season in an offensive slump with a .204 batting average in April, and hitting just three home runs, but once again his stats improved as the season continued. In May, his batting average increased to .235 with five home runs. On June 15, 2008, Delgado broke Juan González's record for most runs batted in by a Puerto Rican player. On June 27, Delgado set a new Mets record with 9 RBIs (hitting a two-run double, grand slam, and three-run home run) in an interleague game versus the New York Yankees, breaking Dave Kingman's club record of 8. In the final game before the All-Star break, Delgado hit his 17th home run of the season. Between June and July his batting average improved, rising to .260 with 19 home runs. Between July 23–31, Delgado hit four home runs.
On August 21, 2008 against the Atlanta Braves, Delgado went 5 for 5 with 3 singles, 3 RBIs, a double, and a walk-off single scoring David Wright in the ninth off the glove of left fielder Omar Infante. It was the first time he had gone 5 for 5 in 10 years. The Mets swept the three-game set. On August 25, 2008 against the Houston Astros, Delgado fired two 3-run homers to lead the Mets to a 9–1 victory in the finale of the series. On September 7 he became the third Mets player in history to have at least 65 RBIs in a 65-game stretch in a season. On September 9, he tied Dave Kingman's record of most multi-home run games during a season as a Met with 7. Delgado notched his 2,000th career hit on September 21, 2008 against the Atlanta Braves. On October 31 the Mets exercised Delgado's $12 million option. Delgado was ninth in the voting for the 2008 National League MVP Award, behind Albert Pujols, Ryan Howard, Ryan Braun, Manny Ramirez, Lance Berkman, CC Sabathia, David Wright and Brad Lidge.