Going in with a one-stop strategy from P11 on the grid, Di Resta managed his tyres brilliantly. He was running fifth with five laps to go but was passed by Fernando Alonso, who was on fresh tyres. The Scot though did an amazing job by holding Lewis Hamilton behind him.
A fourth-place finish at Bahrain is Di Resta's best result in the season.
Sutil, who had started as back as 17th on the grid, was running ninth but conceded his position to McLaren's Sergio Perez in last five laps.
The Indian team seem to have emerged from their lean patch following the tyre change post the Silverstone race and now look certain to finish sixth in the constructors' championship.
They are 18 points behind fifth-placed McLaren.