Harry Brook struck a magnificent 75 in England's run chase of 251 runs to keep the Ashes alive and take the 5-matches series to 2-1.
Woakes, who came into bat with England needing 80 runs to win, scored an unbeaten 32 from 47 balls to get his team over the line.
The home team started the day at 27-0 with only one session possible on Day 3 due to incessant rain and a wet outfield. Woakes was the start then, too, picking up three Australian wickets, as England bowled them out for 224 runs with a lead of 250 runs.
Starting Day 4, Ben Ducket and Zak Crawley could not continue long, with the former getting trapped in front of the wicket by Mitchell Starc for 23. Crawley, who was cruising at the time, was joined by Moeen Ali, but he, too, was dismissed by Starc for 5 runs.
Crawley and Joe Root then forged a 33-run partnership before Australia's first innings centurion Mitchell Marsh got rid of Crawley for 44.
Root soon departed before lunch for 21 runs after edging a delivery that was straying down the leg-side to be caught by Alex Carey off captain Pat Cummins.
Brook stayed true to his natural style of play, dispatching any bad delivery he got, reaching 75 runs from 93 balls. With 21 runs needed to win and four wickets in hand, Brook skied one to be caught by Cummins, giving Starc his fifth wicket of the innings.
Despite the pressure to put runs on the board against a strong batting line-up, Woakes remained persistent. Wood, who was adjudged Player of the Match, struck an all-important six towards fine-leg to reduce the deficit and pressure.
Woakes rightfully finished the match, striking a four through point off Starc with scores level.
Australia lead the series 2-1, with the fourth match to be played from July 19 in Manchester.