Karns played baseball and football at James W. Martin High School in Arlington, Texas. The Houston Astros selected him in the 10th round of the 2006 Draft, but he chose to attend North Carolina State University. He transferred to Texas Tech and was selected by the Washington Nationals in the 2009 Draft.
Karns' professional debut was put on hold as he missed both the 2009 and '10 seasons with a torn labrum. He began his career pitching in '11 for the Nationals' Gulf Coast Rookie League team and Class A short-season Auburn club.
Karns was named the Nationals' Minor League Pitcher Of the Year in 2012 and made his big league debut for Washington on May 28, 2013.