Fogg began his career with the Chicago White Sox for which he appeared in 11 games in 2001. He was traded along with Sean Lowe to the Pittsburgh Pirates for Todd Ritchie.
Pittsburgh Pirates
In 2002, Fogg pitched in 33 starts as a rookie for the Pirates, finishing tied for first with 12 wins alongside his teammate Kip Wells and finishing second in innings pitched on the team. He finished 7th in Rookie of the Year balloting. 2003 was a down year as Fogg suffered an abdominal injury. He would only appear in 26 starts and finished with 10 wins. Although he reached double digit wins, his ERA finished at 5.26 while allowing 22 home runs in only 143 innings. In 2004, Fogg notched 11 wins, reaching double digit wins for the third consecutive season, and allowed a career low 17 home runs in 32 starts. 2005 saw Fogg demoted to the bullpen for a time as he struggled throughout the season. He pitched in 34 games, 28 of them starts, and finished with a record of 6-11 while having an ERA over 5.
Colorado Rockies
Fogg signed with the Rockies in 2006. That season, he went 11-9 with a 5.49 ERA in 31 starts. In Coors Field, he was 6-4 despite having an ERA over 6.00 in 15 starts. On June 30, 2006, against the Seattle Mariners at Safeco Field in Seattle, Washington, Fogg threw a two-hit complete game shutout while facing the minimum 27 batters. All three Mariners who reached base were erased on double plays by infieldersGarrett Atkins, Clint Barmes, Jamey Carroll, and Todd Helton. In 2007, Fogg finished with a record of 10-9 in 30 games. During the season, He acquired the nickname "Dragon Slayer" after he pitched and won against many of the best pitchers in the majors including Brandon Webb and Curt Schilling. Fogg pitched in three games in the 2007 playoffs, going 2-1. His loss came in the World Series against the Boston Red Sox, who pounded Fogg for 6 runs on 10 hits in less than 3 innings.
Cincinnati Reds
On February 21,, Fogg signed a one-year deal with the Cincinnati Reds. In his lone season with the Reds, his record was 2-7 with a career worst 7.58 ERA in 22 games for the Reds.
Second stint with Colorado
After the 2008 season, Fogg signed a minor league deal with the Rockies. He was called up after making eight starts in AAA. Once called up by the Rockies, he pitched mostly out of the bullpen, appearing in a total of 24 games with 1 start.
On January 29, 2010, Fogg signed a minor league contract with the New York Mets with an invite to spring training. He was released on March 20. Fogg signed a minor league contract with the Philadelphia Phillies on March 31, 2010, but was released on July 2 after sporting an ERA over 10 in just 3 starts. Soon after his release, he retired from baseball.