Opelka outlasted Schnur 6-1, 6-7 (7/9), 7-6 (9/7) one minute beyond two hours in the first ATP championship match for either competitor.
Opelka, ranked 89th, finished two aces shy of Ivo Karlovic's ATP best-of-three-set record of 45 from Halle in 2015 for the second consecutive match, having also smashed 43 in beating US top seed John Isner in the semi-finals.
In all, Opelka hit nine aces in the first set and 17 in both the second and third sets, the last of them on the deciding point. He suffered only two double faults and never faced a break point.
Opelka made 74 percent of his first serves, winning 61-of-69 first-serve points and 14-of-24 off his second serve.
The 21-year-old US ball-blaster denied 154th-ranked Schnur, a 23-year-old from Montreal, a fairy-tale finish to the greatest week of his career. The last alternate into qualifying had lost all five tour-level matches he had played prior to this week's run to finals.
Both players will rise from their career-high rankings of this week after a dramatic title showdown.
Opelka broke Schnur for a 2-0 edge then held at love twice and broke at love for a 5-1 edge on the way to claiming the first set after only 18 minutes on his ninth ace.
Schnur took only nine points in the first set, as many as he would claim in the second-set tie-breaker to force a third.
Both players held serve into the second-set tie-breaker. Opelka served for the match up 7-6 but suffered his second double fault and Schnur took the next two points as well.
Schnur saved three break points in the fourth game before holding as they battled into a tension-packed final tie-breaker, Opelka swatting a second-serve ace to hold at 6-5 with his 40th overall ace of the match.
Opelka opened and closed the last tie-breaker with aces, but the key moment came when Schnur surrendered his second and final double fault on the penultimate point.