Sporting Kansas City On August 31, 2010, Kempin signed with the
Kansas City Wizards as the first
homegrown player in club history. At 17 years old, he was the youngest player ever signed by the Wizards. In
2011, Kempin again did not play for the Sporting Kansas City first team. He did become the club's primary goalkeeper in the
MLS Reserve League, appearing several times in that competition, and was named to the substitutes' bench three times in
Major League Soccer play. In his third professional season, Kempin finally made his debut for SKC. On May 29, 2012, he started against
Orlando City in the
U.S. Open Cup, making six saves and helping Sporting KC claim a 3–2 victory. He was named to the bench 13 times in league play, all due to an injury to normal backup goalkeeper
Eric Kronberg, but did not play outside of his lone cup appearance.
2013: loan to Orlando On March 14, 2013, Kempin was loaned to
Orlando City, Sporting KC's
USL Pro affiliate, in a bid to find regular playing time. The loan was for the duration of the
2013 season, with the club able to recall him at any time. Kempin made his Orlando debut on April 7, starting a 3–1 victory against
Phoenix FC. He appeared nine times for the Lions on the year, playing for the last time in a scoreless draw with
Pittsburgh Riverhounds on July 17. He did not appear in the club's playoff run, with
Miguel Gallardo starting in net as Orlando claimed the USL Pro title for the second time in club history. Kempin returned to Sporting Kansas City with six games remaining in the regular season, but was unable to beat out
Jimmy Nielsen or Kronberg to make a matchday squad. He watched on during the club's playoff run as SKC defeated
Real Salt Lake on penalties to win
MLS Cup 2013, the second league championship in club history.
2014: loan to OKC On March 17, 2014, Kempin was loaned to
OKC Energy FC for the duration of the
2014 season. The Energy, playing their debut season in the USL Pro, were coached by Kempin's former teammate in Kansas City, Jimmy Nielsen. Although he was initially recalled by SKC before playing a game, Kempin returned to make his Energy debut on April 7, starting in a 4–2 defeat against
LA Galaxy II. He appeared 13 times through the front half of the season, with that run of matches including a six-game losing streak and a six-game unbeaten run. Kempin was recalled by Sporting KC on July 9, 2014, after Eric Kronberg fractured a bone in his left hand. He immediately stepped into the backup role behind
Andy Gruenebaum, sitting on the bench in SKC's next five matches. Kempin was selected to take part in the inaugural
MLS Homegrown Game, where he played the second half against
Portland Timbers U23s and was named as the game's Most Valuable Player. Just five days after the Homegrown Game, Kempin stepped in to make his Major League Soccer debut; Gruenebaum went out injured against
Vancouver Whitecaps FC on August 10, leaving Kempin to take over at halftime. He saved a penalty from
Darren Mattocks in the 85th minute, but Sporting KC fell by a 2–0 scoreline. Kempin went on to appear in SKC's next four games, including a match against
Real Estelí in
CONCACAF Champions League play on August 20. Although he returned to the bench following Gruenebaum's return to health, Kempin finished the season with five appearances for Sporting Kansas City. SKC manager
Peter Vermes said that Kempin was headed to San Antonio, instead of affiliate club OKC Energy, because "[he] has the ability to go in and be the number one right away in San Antonio." He started each of the Scorpions' first two matches on the year, conceding five total goals in defeats against
Tampa Bay Rowdies on April 4 and
Indy Eleven on April 18. He spent the majority of the season backing up
Tim Melia, but did appear three times in a four-match stretch in August. Kempin's only other appearance on the year came in the knockout round of the
2015 MLS Cup Playoffs, in a match that would become known as the "Double Post" game. Against eventual champions
Portland Timbers, Melia suffered a head injury and had to exit the match in the 84th minute. Kempin did not concede a goal through extra time, and made three saves in the ensuing penalty shootout, but saw his kick in the 11th round saved as Portland advanced by a 7–6 scoreline. Although his contract expired at the end of the season, Kempin re-signed with Sporting KC on December 9.
2016: loan to Swope Park Although Kempin had been considered to be SKC's goalkeeper of the future for six years, his future with the club was thrown into doubt following the
2016 MLS SuperDraft; both Vermes and co-owner Robb Heineman said that the club wanted to draft
Andrew Tarbell, and that they had viewed Tarbell as a "ten-year goalkeeper" for the club. That revelation, coupled with the selection of
Alec Kann in the
2015 MLS Re-Entry Draft, meant that Kempin was again the club's number three goalkeeper. He was sent on loan to SKC's
United Soccer League affiliate,
Swope Park Rangers, on March 25, 2016. Kempin started the inaugural game in Swope Park history, making two saves in a 2–1 victory against
Portland Timbers 2 on March 26. After mostly staying with the Rangers for the first half of the season, he spent the early part of August moving between Sporting KC and Swope Park, playing in the league while on loan and appearing on the bench for SKC. He played twice in the
2016–17 CONCACAF Champions League, with a start against
Vancouver Whitecaps FC on August 23 eventually marking his 12th and final appearance with Sporting KC. Kempin had his contract option declined by the club on November 23, ending his ten-year association with the Sporting Kansas City organization. He went unselected in the
2016 MLS Re-Entry Draft.
LA Galaxy and loan to Galaxy II After training with the club during preseason, Kempin signed with
LA Galaxy on March 3, 2017. He was intended to serve as the club's number three goalkeeper, behind
Brian Rowe and
Clément Diop. In a bid to find playing time, Kempin was loaned to
LA Galaxy II, the Galaxy's reserve team in the
United Soccer League. He made his debut for Los Dos on March 25, keeping a shutout in a 2–0 victory over
Whitecaps FC 2. However, with Rowe injured and Diop on international duty, Kempin made his MLS debut for the Galaxy on June 3, tallying six saves in a scoreless draw with
D.C. United. Kempin appeared for Galaxy II sporadically throughout the
2017 season, playing his last of six games while on loan on August 2 against
Orange County SC. On August 23, in his second start of the year for the Galaxy, he tied an MLS record by saving two penalty kicks in a match, although the Galaxy were defeated 2–0 by
Columbus Crew SC. Kempin appeared in 15 games between the two teams, but the Galaxy declined his contract option on November 27.
Columbus Crew SC On December 13, 2017, Kempin was traded to Columbus Crew SC in exchange for a fourth-round pick in the
2018 MLS SuperDraft. He stepped straight into the backup role behind
Zack Steffen, appearing on the bench in each of Crew SC's first three matches. With Steffen away on international duty, Kempin made his debut for the club on March 24, 2018, starting against
D.C. United. He made one save, helping Columbus to a 3–1 victory. He went on to appear four more times, finishing his first season in Columbus with five appearances; he was named to the bench an additional 31 times in all competitions.
2019: loan to Hartford After not making a single appearance through the first two months of the
2019 season, Kempin was sent on loan to
USL Championship club
Hartford Athletic on April 11. He made his debut for the club two days later, starting a 3–1 defeat against
Pittsburgh Riverhounds SC. After appearing once more for Hartford, Kempin was recalled by the Crew on April 23. He played five times in Columbus during the remainder of the season, including both of the Crew's matches in the
U.S. Open Cup. Although his contract expired following the season, on October 21 it was announced that Kempin had signed a new contract with Columbus and would return to the Crew in
2020.
2020: loan to San Diego The Crew acquired two goalkeepers ahead of the
2020 season, and in a bid for playing time Kempin was subsequently loaned out, joining
USL Championship expansion side
San Diego Loyal on March 6. Kempin made his San Diego debut on March 11 in a 2–1 victory against
Tacoma Defiance. He kept his place in the team after the season was paused due to the
COVID-19 pandemic, starting the first four games for the Loyal after the resumption. Kempin missed time in both August and September due to injuries but finished the shortened season with 11 appearances in San Diego. Heading into the season finale against
Phoenix Rising, he was leading the way for the league's Golden Glove, but lost out on the award to
Danny Vitiello: the Loyal walked off the field and
forfeited after
Collin Martin received
homophobic abuse from a Phoenix player. Kempin was credited with three goals allowed for the 3–0 forfeit. After returning to Columbus, Kempin did not make an appearance as the Crew won
MLS Cup 2020.
Eloy Room and
Andrew Tarbell shared the starting job during the club's playoff run, and Kempin also missed the
Eastern Conference final after reportedly testing positive for
COVID-19.
D.C. United On January 8, 2021, Kempin was traded to
D.C. United in exchange for a third round pick in the
2021 MLS SuperDraft. He appeared to be the third goalkeeper on the depth chart at the beginning of the season, behind starter
Bill Hamid and
Chris Seitz. However, after an injury to Hamid and three straight losses with Seitz in net, Kempin made his club debut on May 13 and made three saves in a 1–0 victory over
Chicago Fire. His longest run in the starting lineup arrived after Hamid was injured midway through a game against Columbus in August: Kempin replaced Hamid in that game and then started the next six for D.C. He finished with 10 appearances, his personal-best mark in an MLS season. He officially re-signed with D.C. on February 4, 2022. Following the 2022 season, his contract option was declined by D.C. United. On February 26, 2023, Kempin announced his retirement from professional soccer on his personal Twitter account. ==International career==