Koch was enrolled in Tae Kwon Do classes at the age of four, and reached his black belt by the age of ten, piquing his interest in MMA. With help from his older brother, Keoni, who helps run an MMA gym in Iowa with Dave Sherzer, Erik started MMA-style striking and grappling before the age of 14. Koch would later drop out of Washington High School to pursue a professional career in mixed martial arts.
After compiling a 2-0 amateur record, Koch made his professional MMA debut in 2007. Fighting primarily in Iowa, he amassed an undefeated streak of 8-0 before being signed to World Extreme Cagefighting.
On October 28, 2010, World Extreme Cagefighting merged with the Ultimate Fighting Championship. As part of the merger, all WEC fighters were transferred to the UFC. Koch was expected to face Cub Swanson on March 3, 2011 at. However Swanson was forced out of the bout with an injury. Koch faced Raphael Assunção at UFC 128, replacing the injured Manvel Gamburyan. He won the fight via first round knockout, earning Knockout of the Night honors. Koch was expected to face Cub Swanson on July 2, 2011 at UFC 132. However, Swanson was forced out of the bout with another injury. Koch faced The Ultimate Fighter 12 winner Jonathan Brookins on September 17, 2011 at UFC Fight Night 25. He won the fight via unanimous decision. Koch was expected to face Dustin Poirier on February 4, 2012 at UFC 143. However, Koch pulled out of the bout citing an injury and was replaced by Ricardo Lamas, who was then replaced by Max Holloway due to injury as well. Koch was expected to face José Aldo for the UFC Featherweight Championship on July 21, 2012, at. However, Aldo was forced out of the bout citing an injury and the bout was postponed. Koch was expected to face José Aldo on October 13, 2012 at UFC 153 for the UFC Featherweight Championship. However, Koch was forced out of the bout with another injury and replaced by Frankie Edgar. Koch faced Ricardo Lamas on January 26, 2013 at UFC on Fox 6. He lost via TKO in the second round. Koch faced Dustin Poirier on August 31, 2013 at UFC 164. He lost the fight via unanimous decision. After two consecutive losses, Koch returned to lightweight and faced Rafaello Oliveira on February 22, 2014 at UFC 170. He won the fight by TKO in the first round. Koch faced Daron Cruickshank on May 10, 2014 at UFC Fight Night 40. He lost the fight via TKO due to a head kick and punches in the first round. Koch was expected to face Ramsey Nijem on July 25, 2015 at UFC on Fox 16. However, Koch was forced from the bout with injury and replaced by promotional newcomer Andrew Holbrook. Koch was expected to face Drew Dober on January 2, 2016 at UFC 195. However, Koch pulled out of the bout in early December citing another injury and was replaced by Scott Holtzman. Koch was expected to face Joe Proctor on May 29, 2016 at UFC Fight Night 88. However, Proctor pulled out of the fight on April 21 citing injury and was replaced by Shane Campbell. Koch won the fight via submission in the second round. A rescheduled bout with Drew Dober was expected to take place on September 10, 2016 at UFC 203. However on August 11, Koch pulled out again due to injury and was replaced by promotional newcomer Jason Gonzalez. Koch was expected to face Tony Martin on January 15, 2017 at UFC Fight Night 103. However, Koch pulled out of the fight on December 12 with yet another injury and was replaced by Alex White. Koch faced Clay Guida on June 25, 2017 at UFC Fight Night 112. He lost the fight by unanimous decision. Koch faced Bobby Green on January 27, 2018 at. He lost the fight via unanimous decision. Koch was scheduled to face promotional newcomer Dwight Grant in a welterweight bout on December 15, 2018 at UFC on Fox 31. However, Koch was removed from the card on November 28 for undisclosed reasons and replaced by Zak Ottow. Koch faced Kyle Stewart on July 27, 2019 at UFC 240 in a welterweight bout. He won the fight via unanimous decision.