Sindhu showed tremendous grit after being blown away in the opening game, edging past her fancied rival, who enjoys an upper hand (10-4) after 14 career meetings.
Sindhu, who had snapped a six-match losing streak against Tzu Ying with a win at the World Tour Finals in December, didn't have the desired start, falling back 3-9 early on.
A masterful Tzu Ying played some exquisite strokes to derail the Indian's plans of constructing rallies and entered the break at 11-4, with a powerful cross court smash.
Sindhu unleashed a smash and then gathered a point when her rival went wide but an alert Tzu Ying pounced on a weak return from Sindhu and also targeted her backhand to make it 14-7.
Sindhu's few weak returns and a shade slow on-court movement helped Tzu Ying as she reached 18-9 and then earned nine game points with a brilliant net shot.
The Indian saved one following an error from Tzu Ying, who took the opening game after her opponent went wide.
In the second game, Sindhu showed better intent to open up a 2-0 lead before being tied 3-3.
Tzu Ying's repertoire of strokes made life difficult for the Indian, who slipped to 5-8.
A gritty Sindhu, however, clawed back with three points - a cross court smash and two wide shots from Tzu Ying -- and then made it 11-9 at the break with the help of a precise forehand return.
After the breather, Tzu Ying gathered two points at the forecourt with her deception to make it 12-12.
Sindhu stepped ahead, but her opponent again equalised at 15-15, with another accurate return.
Another error on her backhand helped Tzu Ying gather a point but Sindhu neutralised with a powerful smash.
Sindhu unleashed another big smash and when Tzu Ying missed the lines, it gave the Indian a 18-16 lead.
The Taiwanese drew parity before Sindhu grabbed two game points after Tzu Ying went wide. Sindhu miscued a return and then went wide to make it 20-20.
With Tzu Ying finding the net, Sindhu hung in but went wide to level the scores.
A superb service return handed Sindhu the advantage and this time, she sealed it with a cross court return, which Tzu Ying couldn't connect.
In the decider, Tzu Ying brought to the fore her deception once again and jumped to a 4-1 lead.
Tzu Ying displayed her superb technical skills to control the shuttle but Sindhu kept fighting to stay close. The Taiwanese led 8-4 at one stage and kept Sindhu guessing with her placements.
Sindhu narrowed the lead to 7-9 but another magic stroke near the net gave Tzu Ying a point. The Chinese Taipei player entered the interval with a two-point advantage after producing another masterful backhand return.
After the breather, Sindhu unleashed a lethal smash but Tzu Ying's angled returns kept the Indian on the hook.
A good-looking return took Sindhu to 12-13 before Tzu Ying again regained the two-point cushion.
Sindhu unleashed a body smash to draw parity at 14-14 and then grabbed a lead after her opponent made a judgement error.
The Indian maintained her one-point advantage at 18-17 when Tzu Ying committed two unforced errors and soon moved to 19-17, but the Taiwanese fought back when Sindhu found the net.
A timely smash saw Sindhu grab one match point and she sealed it when Tzu Ying went wide.