The Kiwis foiled Warner's bid to break more batting records when they removed him early in the day's play for 253, caught in slips from the bowling of Trent Boult.
At lunch, the home side were 486 for four after winning the toss and batting, with Adam Voges on 32 and Mitchell Marsh on seven.
Australia, ahead 1-0 in the three-match series after a 208-run win at the Gabba, had resumed at 416 for two with Warner on 244 and eyeing Matthew Hayden's record WACA score of 380 against Zimbabwe in 2003.
However, he added just nine runs before some much improved bowling from Boult had him edge the ball to Mark Craig in slips. It was the second-highest individual score at the WACA, behind only Hayden's massive knock against one of cricket's minnows.
Warner faced 286 balls and was at the crease for 409 minutes, hitting 24 boundaries and two sixes in an impressive stand that was the highest of his career and his first double century at Test level.
On the first day, Warner had helped Australia notch an opening day WACA record and also posted the best haul by an Australian in a single day on home soil in Test cricket.
He became the first batsman to score three Test centuries at the venue.
Australian captain Steve Smith had no such impact, making just 27 before aiming a wild swing at Matt Henry and only succeeding in edging a catch to the wicketkeeper.

Latest News from Sports News Desk