Edrich Lubbe (106) scored his maiden century for NW before falling into the hands of fast bowler Beuran Hendricks who finished with 4 for 102 in 24 overs.
Openers Matthew Kleinveldt and Pieter Malan (49) set the tone for WP with their 103-run opening stand. Kleinveldt was involved in another 89-run third wicket partnership with Zubayr Hamza before Hamza was run out for 51 runs.
Wihan Lubbe took 2 wickets for 90 and Bjorn Fortuin took 1 wicket for 72 runs for NW to restrict WP to 376 for 4 at close of play.
They trail by 162 runs with 6 wickets remaining in the 1st innings.