Sheffield Wednesday ended Walsall's five-match unbeaten run with a compelling victory at Hillsborough.
Kenwyne Jones' stunning volley gave the Owls the lead before Marvin Robinson's fourth in three games levelled matters.
Wednesday regained the lead when Mark Wright and Paul McShane got in a tangle and the former put through his own net.
Steve MacLean's penalty, after he was felled by Neil Emblen, looked to have made the game safe but McShane pulled a goal back with a far-post header.
Sheff Wed: Lucas, Bullen, Heckingbottom, Lee, Wood, Whelan,
McGovern, Hamshaw (Brunt 83), O'Brien, MacLean, Jones.
Subs Not Used: Poulter, Branston, Talbot, Greenwood.
Booked: Wood, MacLean, Jones.
Goals: Jones 30, Wright 65 og, MacLean 73 pen.
Walsall: Murphy, McShane, Aranalde, Emblen, Wright,
Standing (Broad 78), Merson, Kinsella (Osborn 73), Wrack,
Subs Not Used: Paston, Herivelto, Taylor.
Booked: McShane, Aranalde.
Goals: Robinson 42, McShane 81.
Ref: E Evans (Lancashire).