Kevin Harvick overcame a mid-race penalty to lead home a Stewart-Haas 1-2-3 in the NASCAR Cup Series race at Texas, booking himself a spot in the championship decider.

Harvick was slapped with the penalty for loose equipment on pitroad following a stop just after half-distance in the 334-lap race.

That dropped him into the midfield for the early part of the third and final stage.

By lap 220, Harvick had risen back into the top 10, and following a caution 20 tours later for a Bubba Wallace spin, he took the lead shortly after the restart following a side-by-side race with team-mate Aric Almirola.

After the final green-flag pitstops in the third stage, Almirola did start to eat into Harvick's 4.5-second lead as the #4 Ford struggled to pass backmarker traffic.

But Harvick held on to score his fourth Cup win of the season, ensuring he will be in title contention at the finale at Homestead - with the opportunity to add to his sole championship victory from 2014.

Almirola, who looked strong throughout and scooped victory in the second 85-lap stage, headed Daniel Suarez as SHR locked out the top three finishing positions.

Reigning Cup champion Joey Logano scored good points by taking fourth place for Team Penske, but he is currently 13 points below the cut-off bubble, with one race to go, as Kyle Busch took seventh for Joe Gibbs Racing and maintained his position as a driver set to go through to Homestead on his scoring tally.

Alex Bowman was the highest placed non-Ford finisher with fifth in his Hendrick Motorsports Chevrolet entry.

He saw off current points leader Martin Truex Jr of JGR, who is assured of a place in the title fight already thanks to his Martinsville win last week.

Behind Busch was Penske's Ryan Blaney, who lost ground in his attempt to make into the 'championship four' for the first time in his career, while Kurt Busch and Erik Jones rounded out the top 10.

Denny Hamlin's hopes of securing his spot in the finale took a big blow, as his JGR Toyota suffered damage from a self-inflicted spin early in the race.

He came home alone 28th but he is still comfortably ahead of the points cut-off going into the final race in the round of eight at Phoenix next Sunday.

Race result

PosDriverTeamCarLapsGap
1Kevin HarvickStewart-Haas RacingFord3343h44m44.s
2Aric AlmirolaStewart-Haas RacingFord3341.594s
3Daniel SuarezStewart-Haas RacingFord3344.584s
4Joey LoganoTeam PenskeFord3348.305s
5Alex BowmanHendrick MotorsportsChevrolet3348.537s
6Martin Truex Jr.Joe Gibbs RacingToyota33412.315s
7Kyle BuschJoe Gibbs RacingToyota33412.480s
8Ryan BlaneyTeam PenskeFord33415.150s
9Kurt BuschChip Ganassi RacingChevrolet33415.472s
10Erik JonesJoe Gibbs RacingToyota33417.414s
11Clint BowyerStewart-Haas RacingFord33418.357s
12Kyle LarsonChip Ganassi RacingChevrolet33425.297s
13Austin DillonRichard Childress RacingChevrolet33425.356s
14Matt DiBenedettoLeavine Family RacingToyota33425.820s
15Ryan NewmanRoush Fenway RacingFord3331 Lap
16Daniel HemricRichard Childress RacingChevrolet3331 Lap
17William ByronHendrick MotorsportsChevrolet3331 Lap
18Ty DillonGermain RacingChevrolet3331 Lap
19Chris BuescherJTG Daugherty RacingChevrolet3331 Lap
20Paul MenardWood Brothers RacingFord3331 Lap
21John Hunter NemechekFront Row MotorsportsFord3331 Lap
22Parker KligermanGaunt Brothers RacingToyota3322 Laps
23Ryan PreeceJTG Daugherty RacingChevrolet3313 Laps
24Darrell Wallace Jr.Richard Petty MotorsportsChevrolet3313 Laps
25Michael McDowellFront Row MotorsportsFord3295 Laps
26J.J. YeleyRick Ware RacingFord3295 Laps
27Landon CassillStarCom RacingChevrolet3286 Laps
28Denny HamlinJoe Gibbs RacingToyota3286 Laps
29Joe NemechekPremium MotorsportsChevrolet3277 Laps
30Josh BilickiPetty Ware RacingChevrolet32311 Laps
31Ross ChastainPremium MotorsportsChevrolet31915 Laps
32Chase ElliottHendrick MotorsportsChevrolet31222 Laps
33Quin HouffSpire MotorsportsChevrolet202Wheel
34Jimmie JohnsonHendrick MotorsportsChevrolet199Accident damage
35David RaganFront Row MotorsportsFord189Accident
36Garrett SmithleyRick Ware RacingFord188Accident
37Timmy HillMBM MotorsportsToyota156Engine
38Corey LaJoieGo FAS RacingFord67Accident
39Brad KeselowskiTeam PenskeFord52Accident
40Ricky Stenhouse Jr.Roush Fenway RacingFord52Accident