Correia was drafted by the San Francisco Giants in the fourth round of the 2002 MLB Draft. In 2003, Correia became the first player taken in the 2002 MLB Draft to reach the major leagues, when he appeared as a relief pitcher on July 10 against the Colorado Rockies. He allowed one run in 1 innings. In 2004, Baseball America named him the organization's sixth-rated prospect. Correia split the 2004 and 2005 seasons between the Giants and the minor leagues, making 12 big league starts and 16 relief appearances between the two seasons. Going into the 2006 season, Correia competed for the Giants' fifth starter spot with Brad Hennessey and Jamey Wright. Although Correia pitched well in spring training, Wright eventually won the spot, and Correia began the season in Triple-A with the Fresno Grizzlies. Correia was called up to the Giants in April due to injuries and poor performance by the team's bullpen, and was primarily used in middle relief. Correia rejoined the Giants' starting rotation in August 2007. After seven starts and, he had a 1.80 ERA. In 2008, Correia was mostly a starter, but had a 6.05 ERA during the season and became a free agent after the season. In parts of six seasons with the Giants, Correia pitched in 46 games, 27 as a starter. His record was 14–22 and his ERA was 4.59.
San Diego Padres
On December 24, 2008, the San Diego Padres signed Correia to a minor league deal. In 2009, he had a slow start, with an ERA above 5.00. Padres pitching coachDarren Balsley began tweaking his delivery. In June, Correia started to lower his ERA. With the pitchers Jake Peavy and Chris Young on the disabled list, he soon became the ace for the Padres. On June 10, Correia only allowed one run through six strong innings against the Dodgers offense. On September 25, 2009, he allowed six hits and struck out seven batters in a complete game shutout versus the Arizona Diamondbacks; the first of his career. On December 12, 2009, Correia re-signed for a one-year, $3 million contract. On May 9, 2010, he was scratched from a start after his younger brother, Trevor, died after falling from a 60-foot cliff while hiking on Santa Cruz Island. In his two seasons with the Padres, he was 22–21 with a 4.54 ERA in 61 games.
Pittsburgh Pirates
On December 17, 2010, the Pittsburgh Pirates signed Correia to a two-year, $8 million deal. On March 24, 2011, the Pirates named him their Opening Day starter. On July 24, 2012, the Pirates traded for Wandy Rodríguez, who took Correia's spot in the starting rotation. Correia then requested a trade. On August 19, 2012, Correia pitched relief, in the Pirates' 6–3 victory over the St. Louis Cardinals, which lasted 19 innings. The next day he pitched as the starter in a 3–1 Pirates' loss to the San Diego Padres, making him the first Pirates' pitcher since Pascual Pérez in 1981 to pitch in relief one day and then start the next day's game. In two seasons with the Pirates, he was 24–22 with a 4.49 ERA. He started 54 games and appeared in relief in five others. He was selected to represent the Pirates at the 2011 Major League Baseball All-Star Game, but did not appear in the game.
Minnesota Twins
On December 13, 2012, Correia signed a two-year, $10 million deal with the Minnesota Twins. With the Twins, he was 14–26 with a 4.94 ERA in 54 games.
Los Angeles Dodgers
On August 9, 2014, Correia was traded to the Los Angeles Dodgers in exchange for a player to be named later or cash. He made just three starts for the Dodgers and was primarily used as a long man out of the bullpen. He was 2–4 for them, with three of his four losses coming in extra inning games. His ERA was 8.03 as he allowed 22 earned runs to score in just 24.2 innings.
On March 9, 2015, Correia signed a minor league contract with the Seattle Mariners with an invitation to spring training. The Mariners released Correia on March 30 after he failed to make the Opening Day roster.
Second stint with the Giants
On April 7, 2015, Correia signed a minor league deal to return to the Giants. He declared his free agency on May 31.
Philadelphia Phillies
On June 8, 2015, Correia was signed to a Major League contract with the Philadelphia Phillies. He was designated for assignment on July 7.