Hefner attended Perkins-Tryon High School. He was a first-team all-state selection as a senior. He also lettered in football. Hefner attended Seminole State College for two years before transferring to Oral Roberts University. In his freshman year, he was 5–4 with a 4.03 ERA and 47 strikeouts in 46 innings. In his sophomore year, he was 4–1 with a 4.25 ERA and 49 Ks in 36 innings pitched.
Hefner signed with the San Diego Padres after the team selected him in the fifth round of the 2007 Major League Baseball draft. Pitching for the Eugene Emeralds in 2007, Hefner went 2–5 with a 3.90 ERA in 17 games, striking out 74 batters in 62 1/3 innings. In 2008, he pitched for the Fort Wayne Wizards and Lake Elsinore Storm, going a combined 10–5 with a 3.34 ERA in 30 games, striking out 150 batters in 145 1/3 innings. He pitched for the Storm and the Portland Beavers in 2009, going 14–9 with a 4.10 ERA in 28 starts. With the Beavers again in 2010, he went 11–8 with a 2.95 ERA in 28 starts.
On November 18, 2011, Hefner was claimed off waivers by the Pittsburgh Pirates. The Pirates designated him for assignment on December 9. Three days later, he was claimed off waivers by the New York Mets.
New York Mets
On April 23, 2012, Hefner was called up to the Mets roster to fill in for Ronny Cedeño, who was placed on the disabled list with a strained left intercostal muscle. He pitched three scoreless innings, allowing three hits and one walk. He was sent down to Buffalo after the game, which the Mets lost to the San Francisco Giants, 6–1. Hefner recorded his first career loss against the Toronto Blue Jays on May 19, 2012, after pitching five innings of relief. On May 24, Hefner made his first MLB start against the San Diego Padres. On May 30, Hefner recorded his first big-league win against the Philadelphia Phillies, which also included his first hit, a home run. He was the first pitcher to homer and get his first big-league win in the same game since Dennis Tankersley did it on May 26, 2002. He was also the first Mets pitcher to get his first win and homer on the same day. On July 4, 2012, Hefner was optioned to Triple-A Buffalo. However, he was called back on July 21 after an injury to Johan Santana. On August 26, Hefner pitched his first game since returning from paternity leave for the birth of his second child. Although he got a no-decision, Hefner pitched the best game of his rookie season, by going eight innings and only surrendering one run on five hits. On September 26, 2012, Hefner was the winning pitcher on the same night that David Wright broke the Mets' all-time hits record. On August 28, 2013, Hefner underwent Tommy John surgery. Asked if he plans on a late 2014 return, Hefner stated, "That’s my goal, that’s my hope." After the 2013 season, Hefner was non-tendered by the Mets, making him a free agent. However, he was re-signed to a one-year contract in December, prior to the start of the 2014 season. On October 9, 2014, Hefner announced through his Twitter account that he would undergo a second Tommy John surgery.
St. Louis Cardinals
On December 28, 2015, the St. Louis Cardinals signed Hefner to a minor league deal, which included an invitation to spring training. Hefner spent the 2016 season with their Triple-A affiliate, the Memphis Redbirds, where he posted a 3-6 record with a 5.12 ERA. He became a free agent on November 7, 2016. On January 17, 2017, Hefner announced his retirement as a player.
Coaching career
After retiring as a player, Hefner joined the Minnesota Twins as an advance scout from 2017 through 2018. Hefner was promoted to assistant pitching coach for the 2019 season. On December 8, 2019, Hefner was hired to be the pitching coach for the New York Mets.
Pitching style
Hefner threw five pitches. He led with a four-seam fastball around 89–91 mph. He also threw a two-seam fastball, a slider, a curveball, and a changeup. Right-handed hitters saw a higher number of sliders, but he mixed all of his pitches against right-handed and left-handed hitters. Hefner's pitches had below-average whiff rates, reflected in only 18 strikeouts in his first 32 innings of work. However, he also showed excellent control, walking only four batters in that span.
Personal life
Hefner is married to Sarah Grace Hefner, a personal trainer. They have two children; a son, Jace, and a daughter, Jaylee. Jeremy plays golf recreationally.