While there was some interest in IndyCar racing,[4] Larson was signed for the 2012 racing season by Earnhardt Ganassi Racing (EGR) as part of the team's driver development program.[3] In February of 2012, at the Pete Orr Memorial Orange Blossom 100 at New Smyrna Speedway, Larson made his first start in a full-bodied stock car, and won the event, leading only the final lap of the race.[8] He won again at the speedway a week later during the World Series of Asphalt.[9] Larson ran full time in the NASCAR K&N Pro Series East, driving the 6 for Rev Racing. He scored a top ten finish in his first race at Bristol Motor Speedway. He got his first career pole at the Bowman Gray Stadium.[10] He won his first K&N Pro Series East career win at Gresham Motorsports Park in Jefferson, Georgia.[11] Larson earned his 2nd career win at New Hampshire. He also made his ARCA Racing Series debut at Michigan International Speedway, driving for Eddie Sharp Racing;[12] he finished 13th in the event.[13] Larson returned to ARCA in 2014 where he got his first ARCA Series win at Pocono[14] from the pole.[15]

In his first season in a NASCAR touring series, Larson won the K&N Pro Series East championship, with two wins and twelve top tens in 14 races, overcoming the five wins of Corey LaJoie (son of two-time Busch Series champion Randy). Larson was also named the Rookie of the Year.[16]

In April of 2013, Larson won his first Truck Series win at Rockingham Speedway in a close finish with Joey Logano;[19] in celebration, Larson performed donuts without his steering wheel on, a practice he had acquired when racing go karts;[20] the celebration prompted NASCAR to request him to keep it attached, regarding safety concerns, as Larson would not have much control of the car without the wheel.[21] He later finished second at Eldora Speedway in the inaugural Mudsummer Classic.[22]

In 2014, at the Eldora Speedway, Larson's truck gave up after hitting the wall couple of times while trying to chase down the leader Darrell Wallace Jr and finished 26th. He got his first career pole at Pocono and finished 18th. At Homestead, Larson finished 2nd to Darrell Wallace Jr.

In late of 2015, at Chicagoland Speedway, Larson started on the pole after qualifying was rained out. Larson led 49 laps and ran out of fuel on lap 148 and finished 7th.

In 2016, Larson drove the No. 24 Chevrolet Silverado on a part time basis for GMS Racing. He finished 4th at Martinsville Speedway. Later in the year, he won at Eldora, earning his 2nd career truck series win. Larson finished 4th at Homestead after leading 76 laps.

In 2013, Larson moved full-time to the Nationwide Series, driving the No. 32 for Turner Scott Motorsports.[23] On the last lap of the DRIVE4COPD 300 at Daytona International Speedway, he was involved in a violent crash, in which his car went airborne and pierced the catchfence, completely ripping the front end of his car off. He was unharmed, but the debris hurt a number of spectators in the stands.[24] At the inaugural Nationwide Children's Hospital 200 at the Mid-Ohio Sports Car Course, Larson was sent off the track and into the tire barriers on lap one. However, after falling three laps down due to repairs, Larson recovered to finish on the lead lap in fourteenth. At Homestead, Larson finished 2nd after being passed by Brad Keselowski and finished 8th in the standings. After going winless in 2013, Larson won the Nationwide Series Rookie of the Year, becoming the first Asian-American and first Drive for Diversity participant to win a Rookie of the Year Award in one of NASCAR's national touring series.[25]

In 2014, while Larson moved full-time to the Cup Series, he drove the No. 42 on a part-time basis. On March 22, Larson won his first ever Nationwide Series win at the Auto Club Speedway, holding off Kyle Busch and Kevin Harvick. In victory lane, Larson stated, "Those last 11, 12 laps were the longest laps of my life. I've been so close to winning so many times, but the fashion we did it in was extra special."[26] Larson once again celebrated by doing burnouts in the infield without a steering wheel.[27] On May 24th, Larson earned his second career win at Charlotte Motor Speedway, edging Brad Keselowski.

In 2016, Larson continued to drive the No. 42 part-time for CGR, sharing rides with Justin Marks. During the race at Charlotte Motor Speedway, Larson passed Joey Logano with 15 laps to go and almost won the race until a caution came out with 2 laps to go. Larson lost the race to Denny Hamlin and finished 6th. In a bit of redemption at Pocono Raceway, Larson won the rain-shortened Pocono Green 250. He would win again later in the season at Texas Motor Speedway, earning his 5th career win.

In 2018, at Daytona, Larson crashed out on lap 123 after leading 61 laps and finished 29th. He won at Las Vegas Motor Speedway, holding off Christopher Bell. At Chicagoland Speedway, Larson earned his 4th career pole and won the race. At Daytona July race, after Justin Haley made an illegal pass below the double yellow line, Kyle Larson was declared the winner. Larson earned his 12th career win at Bristol Motor Speedway.

In his Daytona 500 debut, Larson got into the wall twice, and despite fixing the damage, he spun out on lap 22. Larson finished 38th after being crashed out by Austin Dillon on lap 163.[35] On March 23, at the Auto Club 400, Larson started ninth on the green-white-checker, gained five spots on the first lap of the GWC, and caught up to leader Kyle Busch on the final lap, finishing second.[36] At Richmond, Larson recorded a speed of 126.880 miles per hour (204.194 km/h), and after qualifying was rained out, Larson started first based on being the fastest in practice.[37] However, while entering turn 1 on lap 1, Larson was spun out by Clint Bowyer, but recovered and finished 16th.[38] Larson finished 9th at Talladega after starting 29th. Larson had a very impressive run at Pocono Raceway where he ran in the top ten the entire race and finished 5th. He also led his first laps in the Sprint Cup competition, leading 7 laps (laps 102–109). At Michigan, Larson spun out on lap 7. Despite this, he spent 33 laps recovering from 43rd to finish 8th. During the race, Larson blocked one of his strong supporters Tony Stewart trying to go for the lead, the block damaged Stewart's grille. In response, Stewart tried to retaliate under a yellow-flag period. When told that Stewart was mad at him for the block, Larson shrugged it off replying "Tony being Tony I guess. I was pretty tight on whoever was inside of me on the restart, and I was looking in my mirror and saw him juke to the right so I juked to the right and he hit me, and I don't know, he was just trying to teach me a lesson I'm guessing."[39] Before the Sonoma race Stewart warned Larson, angrily saying "He'll learn not to block me anytime soon."[40] Larson crashed early in the Coke Zero 400 where he finished 36th. He rebounded the next race at Loudon with a 3rd-place finish. Larson finished 7th in the Brickyard 400. He earned his first career Cup Series pole at Pocono Raceway where he set the track record with a lap speed of 183.438 mph (295.215 km/h). [41] Larson missed his chance to make the Chase after poor finishes in the final two regular season races. In the first Chase race at Chicagoland, Larson came close to pulling off his first Cup Series victory. After leading over 30 laps, with 18 laps to go he engaged in a battle with Kevin Harvick, allowing Brad Keselowski to catch up and pass Larson for the lead and ultimately the win. After two more cautions, Larson finished 3rd after battling Jeff Gordon who admitted himself as a Larson fan. Larson and Gordon exchanged hugs on pit road over their race and Gordon whispered some advice in Larson's ear over restarts. In a post-race media conference Gordon called Larson "The real deal." AT New Hampshire, Larson finished second to Joey Logano. At Kansas, he finished second again to Logano, his 3rd runner up finish. As the Chase got more competitive, Larson was unable to contend for wins but nonetheless, won the Rookie of the Year Award over Austin Dillon with his statistics being higher than other rookie seasons in history, such as those of Richard Petty and Jeff Gordon.

In 2015, Larson began his season with a crash in the Daytona 500. Larson had his first top ten of the year at Las Vegas finishing 8th after starting 5th. He finished 10th at Phoenix. Larson missed the Martinsville spring race because of being hospitalized after he fainted during an autograph session. He was replaced by Regan Smith.[42] He was released from the hospital two days later with a diagnosis of dehydration as being the cause of the faint. He started on the pole for the Quaker State 400 at Kentucky Speedway after qualifying was cancelled due to rain and finished 35th, 2 laps down. Larson missed the Chase for the second year in a row. At Charlotte, was in contention for the win at Charlotte Motor Speedway in the Bank of America 500. While running second with less than 110 laps to go, Larson was about to stay out of pit road for a lap but changed his mind at the last second, entering pit road. At the same time, Kyle Busch was about to pit but changed his mind at the last second also and tried to stay out. Both cars collided as a result, spinning Larson and eliminating them from contention for the win.[43]

Larson started out the 2016 season with a 7th place outing at Daytona, marking his first top 10 and first non-DNF. Larson ran very well at Martinsville, and finished 3rd. He also had a top 5 car at Kansas before being caught up in a crash with Denny Hamlin, Joey Logano and Brad Keselowski and finished 35th. At Dover, Larson led the race with less than 50 laps to go and recovered from being one lap down and running down the leader Matt Kenseth. Larson had the fastest car during the final laps, but couldn't take advantage of mistakes made by Kenseth and he finished 2nd. Afterwards, Larson stated, "Matt Kenseth, in my eyes is the cleanest racer out there. I didn't want to drive him dirty because he always races me clean. Looking back, I'd do stuff different but my time is coming."[44] At the Sprint Showdown, Larson battled with Chase Elliott for the win in the final segment. The two made contact as they approached the start/finish line, Larson beat Elliott to the line to lock himself into the All-Star Race.[45] In the All-Star Race, Larson took the lead on the final restart, but was caught by Joey Logano and hit the wall with two laps to go and finished 16th.[46]At the 2016 Pure Michigan 400, Larson won his first ever Sprint Cup Series win, holding off Chase Elliott. The win also qualified him for the Chase.[47] During the Chase, Larson finished 18th at Chicagoland, 10th at New Hampshire, and 25th at Dover, but he was eliminated at round of 16. During the season finale at Homestead-Miami Speedway, Larson led 132 laps and finished 2nd.

In 2017, Larson took the lead late in the Daytona 500 only to run out of gas on the final lap.[48] He led late in Atlanta only to lose the race to Brad Keselowski. He would go on to finish second in the next two races at Las Vegas and Phoenix, which allowed him to take the point lead for the first time in his career. Larson picked up his second career pole and earned his second career Cup Series win at the Auto Club 400, furthering his points lead.[49] A 17th-place finish at Martinsville Speedway hurt him, but he still maintained a four-point lead over Chase Elliott. In the 2017 O'Reilly Auto Parts 500, Larson rebounded from struggles early to finish 2nd.[50] At Michigan International Speedway, Larson picked up his third career pole and then he led 96 laps to get his third career win, holding off Chase Elliott, just like in August of 2016. At the Kentucky race, Larson started at the rear of the field after he was unable to set a qualifying time as he was stuck in inspection. He finished 2nd to Martin Truex Jr, but lost his points lead when he was penalized 35 points for an improper rear brake cooling assembly;[51] crew chief Chad Johnston was suspended for three races and Tony Lunders took his place. A week later, Larson won the pole at Loudon's Overton's 301, but was forced to surrender it to Truex after failing post-qualifying inspection for an unapproved rear deck fin lid.[52] Larson won again at Michigan in August's Pure Michigan 400; on a restart with two laps to go, he restarted fourth, but made a four-wide pass on Truex, Erik Jones and Matt Kenseth as they entered turn one. Upon passing Truex, Larson pulled away to win his third consecutive race at the track.[53] Larson got his first win at a short track (and his first win in the Cup Series not coming at a 2-mile track) in the final race of the regular season, Federated Auto Parts 400 at Richmond Raceway. During a late race caution, he hit pit road from 2nd but took the lead from Truex with a timely fast pit stop by his crew. He would hold off Truex on the final restart to win the race.[54] With the win, he would enter the Playoffs as the 2nd seed tied for the most wins in the regular season with 4.
To start off the Playoffs, Larson was able to easily get to the round of 12 after scoring top 5 finishes at all 3 tracks. Unfortunately, Larson would end up being eliminated after the Round of 12 after blowing an engine at Kansas, resulting in a dismal 39th-place finish. He would struggle after being eliminated, finishing 37th at Martinsville and Texas, both due to crashes, and a last place finish at Phoenix from an expired engine. He would finish the season with a 3rd-place finish at Homestead and would finish 8th in the standings.

Despite not winning a race throughout the 2018 season, Larson made it to the Playoffs by staying consistent with five second-place finishes, eight top-fives, and 13 top-tens. Larson started the Playoffs with his sixth runner-up finish of the season to Brad Keselowski at Las Vegas(Keselowski's 3rd win in a row). At the Charlotte Roval race, he won the first stage and was on track to dominating the race when he was involved in a multi-car wreck on a late restart that also included playoff contenders Brad Keselowski and Kyle Busch. Larson's heavily damaged No. 42 car took advantage of Jeffrey Earnhardt being spun out by Daniel Hemric on the final lap and limped across the finish line in 25th place, securing him in the top 12. He experienced further bad luck at the Talladega fall race when he blew a right front tire and spun out on lap 105. He finished 11th in the race, but was docked 10 driver and 10 owner points after the team violated the damaged vehicle policy by using metal tabs instead of fasteners and/or tape to repair the torn right front fender.[55] Larson was eliminated from the Round of 12 after the fall Kansas race despite finishing third. He finished 13th at Homestead and finished 9th in the point standings, the highest of the winless drivers in 2018 along with a third consecutive top-ten points finish.

On January 4, 2014, Chip Ganassi Racing announced that Larson would enter the 24 Hours of Daytona, driving the No. 02 car alongside with Scott Dixon, Tony Kanaan and Marino Franchitti.[56] During the press conference, Larson stated, "You grow up watching the NASCAR guys then you're like, ‘wow’ when you meet them. And then watching the guys in different series there's a 'wow' factor to meeting them and working with them."[57] In his Rolex 24 debut, Larson's car stalled, and received a speeding penalty, but finished his stint with a fifth-place finish.[58]

In 2016, Larson once again returned for the 24 Hours of Daytona in a Ford EcoBoost Daytona Prototype, only set to run for one race in the WeatherTech SportsCar Championship for Chip Ganassi Racing. The team consisted of the same drivers from the winning 2015 car, but ran into issues, with brake failures plaguing the team throughout the race.[61]

Larson's mother is Japanese-American, and her parents had spent time in a Japanese internment camp.[63] Larson was born the youngest of three children. Larson's partner is Katelyn Sweet, the sister of World Of Outlaw sprint driver and NASCAR driver Brad Sweet.[64] Larson announced on June 13 that he and his girlfriend were expecting a child.[65] On July 16, 2014, Larson announced that the baby is a boy.[66] On December 22, 2014, Larson's son, Owen Miyata Larson, was born.[67] On November 8, 2017, Larson announced on social media that he and Sweet are expecting a second child, due in May 2018. Audrey Layne Larson was born on May 7, 2018. [68] On December 22, 2017, Larson and Sweet became engaged.[69]

Larson owns a World of Outlaws Sprint Car team that fields cars for himself, Shane Stewart, and Carson Macedo.