The New York Mets have reached a three-year, $75 million deal with free-agent outfielder Yoenis Cespedes, according to sources, FOX Sports MLB insider Ken Rosenthal reports.

The contract contains a full no-trade clause and a one-year opt-out clause, Rosenthal says.

Cespedes, 30, hit .291/.328/.542 with 35 homers, 42 doubles and 105 RBI last season, including a .287/.337/.604 slash line with 17 homers, 14 doubles and 44 RBI in 57 games after his trade from the Detroit Tigers to the Mets.

Before Cespedes' arrival, the Mets were last in the majors in runs per game (3.54) and OPS (.662). After he joined the lineup, they were third in runs per game (5.39) and second in OPS (.794).

During his four-year major-league career, Cespedes is a .271/.319/.486 hitter with 106 homers and 367 RBI.

There was a time Thursday when it appeared as if Cespedes were headed to the division-rival Washington Nationals, who reportedly offered him a five-year deal. Earlier this offseason, the Nationals signed free-agent second baseman Daniel Murphy, who had spent the first seven seasons of his major-league career with the Mets.

Instead, Cespedes will return to the team he helped lead to the postseason and eventually to the World Series.