Ingram hit 111 as the Warriors fought to limit their first-innings deficit on the third day, but his only real support came in the shape of Simon Harmer’s 51.
The Warriors were bowled out for 291 in their first innings as a result, giving the Titans a massive lead of 248.
The hosts, however, neglected to enforce the follow-on and instead racked up 165 for five in just 28 overs to set the Warriors a target of 414 in three-and-a-half sessions.
At stumps the visitors were struggling on 51 for two, meaning they will need another Ingram-esque contribution to avoid a second straight defeat.
Ingram started the day unbeaten on 59 with the Warriors battling on 158 for five in response to the Titans’ mammoth 539 for six declared.
The captain extended his partnership with Harmer to 111 to keep the Warriors alive, and then shared a 50-run stand with Andrew Birch for the eighth wicket.
On both occasions it was Juan de Villiers who made the breakthrough for the Titans as he picked up the wickets of Harmer and Birch to record figures of 3 for 73, before Ethy Mbhalathi grabbed the last two wickets in the innings.
The Titans’ second innings was a model of selfless efficiency, with everyone scoring quickly even at the risk of losing their wickets.
Harmer picked up 3 for 55 and Birch 2 for 45, but the Titans scored at nearly six an over to set up their fourth-innings victory push.
Mbhalathi and De Villiers then grabbed a wicket apiece to leave the Warriors with a tough day ahead, which will begin with Colin Ackermann and Jon-Jon Smuts on 13 and eight respectively.