The American defeated the second seed and defending champion from Czech Republic 7-6 (7/2) 7-6 (9/7) in two hours and five minutes.
Neither player dropped serve in the opening set, Roddick seeing five break opportunities go begging and saving two of his own. He broke twice early in the second set, Stepanek double-faulting at crucial times in the first and third games, but was pegged back before finally prevailing in the tie-break.
Roddick admitted he expected to close out the second set sooner, having held a 5-1 lead at one stage. He said: "I don't think I've ever squandered a lead where I've been putting in first serves and making approach shots.
"The first time I served for it I had a double fault, but I don't know that I missed a ball apart from that. The next one I actually made five out of six first serves and again was coming in.
"Once he got down he kind of loosened up and started to play more aggressively."
Stepanek was pleased with the fighting spirit he showed to claw his way back into the match. He said: "I was able to come back from 1-5 down in the second set against a player such as Andy with a tremendous serve, to break him twice in a row.
"I was fighting until the last point, I never gave up."
Elsewhere, Marin Cilic of Croatia retained the Chennai Open title yesterday with a 7-6 (7/2) 7-6 (7/3) victory over Switzerland's Stanislas Wawrinka in the final. The 21-year-old Cilic, the second seed, repeated his feat of winning a title in the new season's first week for the second successive year.
"This has been an ideal preparation for the Australian Open," he said.
Justine Henin has withdrawn from the Sydney International after suffering an injury in her defeat to Kim Clijsters in the final of the Brisbane International.
Clijsters won a closely-fought match 6-3, 4-6, 7-6 (8/6) against her Belgian compatriot. However, Henin suffered a left gluteal strain which could also put her participation in the Australian Open in doubt.