South Africa maintained their unbeaten run with a 4-1 victory over Canada in their last round-robin match to seal a place in the final of the London Olympics women's hockey qualifier, in Delhi, on Friday.
Ukraine scored a 1-0 victory over Poland in another match of the day and will play-off for third and fourth places against Canada on Saturday.
South Africa, who had three wins and a surprise draw against Italy, scored through Dirkie Chamberlain (41st minute, 60th, 62nd) and Sulette Damons (23rd).
Thea Culley scored Canada's goal in the 16th minute.
Canada pushed South Africa on the backfoot when they drew first blood, with Culley scoring in the 16th minute following a decisive circle penetration by Hannah Haughn.
Stung by the jolt, South Africa pressed hard and were rewarded in the 23th minute as Damons restored parity.
The teams went into the breather 1-1.
In the second half, South Africa forced a penalty-corner early, but Pietie Coetzee's powerful flick was saved by Kaitlyn Williams.
South Africa, however, scored from another penalty-corner, Chamberlain deflecting the ball into the goal.
Both teams tried hard, but it was South Africa who increased their tally when Chamberlain scored twice in quick succession to complete her hat-trick in the last 10 minutes of play.
Chamberlain was adjudged the Player-of-the Match.
Earlier, in the first match of the day, Ukraine, who had four points following their win against Canada and a draw on the opening day against India, scored through Olena Ivkhnenko (28th minute).
Ukraine found the going tough in the initial 20 minutes before Olena Ivkhnenko finally broke the deadlock.
Poland also had their moments when they earned a penalty-corner early in the second half, but they failed to convert it.
Yana Sitalo of Ukraine was adjudged Player of the Match.