Mendoza was placed on waivers by the Padres and on July 28, 2005, was reclaimed by the Boston Red Sox. He finished the 2005 season struggling for the High-A Wilmington Blue Rocks in which he had a 6.34 ERA and a 4–9 record in 23 games. Mendoza began the season for the Blue Rocks. After 13 starts in which he went 5–4 with a 2.86 ERA, he was promoted to the Double-A Portland Sea Dogs on June 12, 2006. He made 9 starts for the Sea Dogs going 1–5 with a 6.38 ERA.
Texas Rangers
On July 30, 2006, Mendoza was traded to the Texas Rangers for relief pitcherBryan Corey. He finished the 2006 season with the Double-A Frisco RoughRiders. He struggled with the Roughriders as he had a 7.75 ERA with a 2–4 record in 7 starts. Mendoza began the season with the RoughRiders. He finished the minor league season with the Roughriders going 15–4 with a 3.93 ERA in 26 games. He was second in the Texas League with his 15 wins, tenth in the league with a 3.93 ERA, and led the league in complete games. He was also a Texas League Mid-Season All-Star and Post-Season All-Star. Mendoza's strong performance earned him a callup on September 5,. Mendoza made his debut on September 8 when he started the game against the Oakland Athletics, becoming the 101st major-league player to have been born in México. His start was cut short, however. In the second inning with Nick Swisher batting, Swisher hit a line drive which hit him in the left knee cap and he dropped to the ground. He got back up and finished the second inning. When he went into the dugout, his knee began to stiffen up on him and he left the game. On August 14, 2009, Mendoza threw a no-hitter for the Oklahoma City RedHawks against the Salt Lake Bees.
On April 2, 2010, Mendoza was traded to the Kansas City Royals for cash considerations. On July 18, 2011, Mendoza threw a no-hitter for the Omaha Storm Chasers against the Memphis Redbirds. On February 18, 2012 the Royals announced they had signed Mendoza to a one-year contract for the 2012 season. No financial terms of the deal were released. Mendoza began 2013 as the Royals fifth starter, where he started until his rotation spot was taken by Bruce Chen on July 8. From then on, he was used sparingly, pitching in 6 games the rest of the season. In 22 games in 2013, Mendoza went 2–6 with a 5.36 ERA, striking out 54 in 94 innings.
On November 11, the Royals requested release waivers on Mendoza so he could play with the Hokkaido Nippon-Ham Fighters of the Pacific League of Nippon Professional Baseball. His contract was a two-year, $2 million deal. Mendoza re-signed for the 2016 season, and played most of the 2017 season with the club before he was placed on waivers in late August.
Hanshin Tigers
On August 31, 2017, Mendoza was claimed off waivers by the Hanshin Tigers of Nippon Professional Baseball. He became a free agent following the season.
Mendoza has four pitches: a sinker, a knuckle curveball, a four-seam fastball, and a changeup. He uses the sinker early in the count and the curveball mostly when ahead in the count or with 2 strikes. He only uses the changeup against left handed hitters.