The two then battled side-by-side for the next lap until Cannon re-took the lead on the low side of Turn 3 on lap 21.
When the yellow came out on the next lap for Stutts, it also brought out a red for a fuel stop.
During the stop, Cannon noted his car was good and he told the crew not to make any changes.
"I didn't want to get the car too tight and run it up in the choppy stuff and end up running up into the fence," he said.
On the restart, Josh Beard got past Kissinger, who slide high into Turn 1 for second while Cannon stretched out his lead.
The final caution came out on lap 25 when Eric Tomeckt lost his left-side wing panel in Turn 3 and erased Cannon's two-second lead.
Cannon would regain his two-second lead and lead Beard to the line by 2.7 second.
Jason Shultz finished third with Locke, fourth and Larry Kelleher, fifth.
Sixth through 10 were Tim Berkheimer, Phil Walter, Colby Womer, Nyle Berkes and Stutts, respectively.
Kissinger ran out of fuel on the final lap and finished 15th.
Heats for the 24 358 sprint cars went to Cannon, Beard and Smith. Cannon set fast time with a lap of 17.430 seconds, which was .70-seconds off of his own track record.
A.J Stroup of Evandale led wire-to-wire in the 15-lap pro stock feature, holding off challenges from Kyle Bachman and Brad Mitch to score his 15th-career win and his first at the track since 2010.
Points leader Troy Miller was third followed by Terry Lauver and Nate Stroup.
Sixth through 10 were Nathan Long, Jeff Ceballo, Brandon Moser, Shaun Miller and Brad Mitch, respectively.
Heats for the 13 pro stocks went to Long and Stroup.
Jeff Rine came from 12th to win the 25-lap late model feature after passing Donny Schick on lap 15 of the feature. It was his 84th career late model win.