The completion of the contract was announced Saturday.
Holland signed a five-year, $28.5 million deal that included two team options -- for $11 million and $11.5 million.
Both Holland and Niese have comparable major league service time and would have been eligible for free agency after the 2015 season.
Niese was to have made $519,500 this season, but the new deal gives him a $250,000 signing bonus and $769,500 salary this year.
His salary jumps to $3 million in 2013; $5 million in 2014; $7 million in 2015; and $9 million in 2016.
The Mets hold options for 2017 at $10 million (with a $500,000 buyout) and $10.5 million for 2018 (with a $500,000 buyout).
All-Star outfielder Carlos Beltran, then with the Mets, offered last summer to pay for Niese to have surgery to correct a deviated septum. Niese had the operation in October and said last month he's been breathing easier now that the right nostril no longer is blocked. Niese said Beltran had paid the $10,000 bill.
Niese, 25, went 11-11 with a 4.40 ERA in 27 appearances (26 starts) for the Mets in 2011. His season ended in late August because of a strained muscle on his right side. Niese's 11 wins were a career high.
The Mets' ownership last month settled the lawsuit filed by trustee Irving Picard, agreeing to pay up to $162 million, a fraction of the $1 billion Picard originally demanded from Fred Wilpon, Saul Katz and their family and affiliates.
New York repaid loans of $25 million to Major League Baseball and $40 million to Bank of America, and have closed on the sale of 12 limited partner shares for $20 million each.
The Mets also set their Opening Day roster Wednesday by selecting the contracts of RHP Miguel Batista and OF Mike Baxter from Triple-A Buffalo. They put RHPs Pedro Beato and D.J. Carrasco on the 15-day DL, retroactive to March 26, sent RHP Armando Rodriguez outright to Double-A Binghamton and said RHP Josh Stinson was claimed by Milwaukee.
Information from The Associated Press contributed to this report.