* Commodity-linked shares more than offset broader losses

* Tech, finance stocks top decliners

* NAB shares end marginally higher on buy-back news

March 24 (Reuters) - Australian shares closed higher on Thursday, helped by miners and energy stocks as commodity prices soared after the conflict between Russia and Ukraine showed no signs of abating and increased uncertainty around global supplies.

The S&P/ASX 200 index ended a day of choppy trade 0.1% higher at 7,387.1 points — marking a third straight session of gain.

The metals and mining index rose 1.1% on soaring iron ore and base metal prices. Sector majors Rio Tinto and BHP Group gained 2.1% and 1.8%, respectively, while Fortescue Metals Group fell 0.3%.

Energy stocks jumped nearly 2%, their highest since March 7, and gold stocks climbed 1.1%.

Sector heavyweights Woodside Petroleum and Santos added 2.8% and 1.5%, respectively, while Australia's largest gold miner Newcrest Mining advanced 2.2%.

"They (commodity-backed stocks) are doing just enough to offset losses in rest of the market, particularly the tech sector, the healthcare sector, and banks," said Steven Daghlian, market analyst at CommSec.

Growth stocks and the finance sector took a back seat amid caution over geopolitical and policy concerns, with hawkish comments from the U.S. Federal Reserve adding to the risk-off mood.

Fed policymakers on Wednesday signalled they stood ready to come down aggressively on unacceptably high prices, including the possibility of a 50 basis points rate hike in its net policy meeting.

Technology stocks shed 0.8% after gaining 3.5% in previous session, as they tracked overnight losses on Wall Street.

Financials fell 0.4%, with Australia and New Zealand Banking Group and Macquarie Group losing 0.6% and 1.7%, respectively.

One of the biggest lenders in the country, National Australia bank Ltd announced an additional A$2.5 billion ($1.87 billion) on-market share buy-back, sending its shares 0.2% higher. New Zealand's benchmark S&P/NZX 50 index ended 0.4% lower at 12,017.6 points. ($1 = 1.3387 Australian dollars) (Reporting by Jaskiran Singh in Bengaluru; editing by Uttaresh.V)