Elliott held off Kyle Busch and Kyle Larson in the final laps to score his third career win, collecting them all in the last 11 races. He led 44 of 267 laps and crossed the finish line 0.903 seconds clear of Busch.
Erik Jones and Martin Truex Jr. rounded out the top five in the finishing order. Keselowski was sixth, Blaney seventh, Stage 1 winner Joey Logano eighth, Bowman ninth and Aric Almirola tenth.
The third stage went green with 100 laps to go and Elliott got a poor restart, backing up the inside lane and allowing both Kevin Harvick and Blaney to get away.
Back in the pack, Clint Bowyer got some minor left front damage after contact with Jimmie Johnson out of Turn 2. He carried on with no tire rub developing.
With 78 laps to go, Elliott got around Blaney for second and set his sights on Harvick, closing in to within a second. Blaney scrubbed the wall, dropping to fifth and into the elimination zone as Kyle Busch and Larson made their way by.
Larson then kicked off the final round of green-flag pit stops with 55 laps to go. During the cycle, race leader Harvick sped entering pit road. The penalty dropped him down to 16th and out of contention.
Keselowski once again pushed the run and pitted with just over 30 laps to go. Elliott then took control of the race, enjoying a three-second advantage over Busch. Larson ran third, facing a must-win situation.
Johnson was forced to return to pit road after contacting the outside wall.
With 20 to go, Busch cut the margin to Elliott down to 1.5 seconds and continued gaining. As the laps clicked away, Elliott, Busch and Larson were all separated by a single second, but they just couldn't reach Elliott in time.
Elliott's win was his third in the last 11 races and his second this round. After a speeding penalty, Stage 2 winner Harvick ended up a disappointing 12th.
Elliott, KyBusch, KuBusch, Harvick, Truex, Bowyer, Logano, Almirola are the eight drivers remaining with a shot at the 2018 championship.