Adams grew up in Sinton, Texas, and graduated from Sinton High School, where he was an All-State selection in baseball and basketball. He attended Texas A&M University–Kingsville where he continued to play both sports. The Milwaukee Brewers signed Adams as an undrafted free agent in 2001.
Adams made his professional debut with the Ogden Raptors of the Pioneer Baseball League in 2001 and moved through the Brewers farm system the next few years. In 2003, he was selected to the Southern League All-Star team while compiling a 3.15 ERA and 14 saves for the Huntsville Stars.
Adams made his Major League debut on May 18, 2004, against the Montreal Expos, pitching a scoreless seventh inning. He picked up a win in relief in his next game, on May 20 against the Expos. In parts of three seasons with the Brewers, he compiled an earned run average (ERA) of 3.54 in 61 games.
On May 26, 2006, Adams was traded to the New York Mets for pitcher Geremi Gonzalez. After 13 games for the AAA Norfolk Tides in the Mets system, they designated him for assignment on July 4 and he was claimed by the Cleveland Indians three days later. He played just three games in the Indians organization for the Buffalo Bisons.
On July 18, 2006, the Indians traded Adams to the San Diego Padres for right-handed pitcher Brian Sikorski. The Padres assigned him to the AAA Portland Beavers where he posted a 4.18 ERA in 17 games.
Adams battled injuries, missing the 2007 season after undergoing three knee surgeries. In 2008, he spent most of the season in the Padres bullpen, appearing in 54 games with a 2.48 ERA.
He pitched well from 2009–10, throwing 107 innings and allowing 62 hits with a strikeout-to-walk ratio of 118/31 and an earned run average (ERA) of 1.35. As the eighth-inning specialist, he appeared in a career-high 70 games in 2010, including eight of the final 11 games which consisted of a stretch of five consecutive games. Adams signed a one-year, $2,535,000 contract for 2011, avoiding salary arbitration.
At the trade deadline on July 31, 2011, Adams was traded from the Padres to the Texas Rangers for minor-league pitchers Robbie Erlin and Joe Wieland. He finished 2011 with a combined record of 5–4 and a 1.47 ERA in 73 2⁄3 innings and posted a 3.27 ERA and 45 Ks in 52 1⁄3 innings in 2012.
On December 15, 2012, Adams signed a two-year, $12 million contract with the Philadelphia Phillies.
In July 2013, after pitching erratically for much of the season, Adams was placed on the DL and opted to have right shoulder surgery. He rejoined the active roster on April 15, 2014. In parts of two seasons with the Phillies he appeared in 50 games with a 3.50 ERA.
On March 1, 2015, he signed with the Los Angeles Dodgers organization on a minor league contract which included an invitation to spring training. On March 31, Adams was informed that he would not make the Dodgers Major League roster, but agreed to be paid a $100,000 retention bonus to remain with the organization. However, a few days later, he informed the team that he would not report to AAA and instead left the team.
Adams was mainly a setup man in his career. Adams threw a fastball around 90 mph (earlier in his career, his fastball reached the mid-90s). He was not afraid to pitch inside and was effective against both right-handed and left-handed batters. "He’s got the fastball inside. He’s got the cutter/slider inside. And he commands the outside of the plate (against right-handed and left-handed batters). The command is good, the stuff is good and the head’s good," said Padres manager Bud Black. Padres pitching coach Darren Balsley attributed Adams’ success against lefties to a hard, inside slider. "It neutralizes them a little bit," Balsley said. "They’re not able to dive out over the plate."