Saido Berahino struck to continue his West Brom comeback as the Baggies claimed a deserved victory at Aston Villa.
The striker poked in his first goal of the season — and first since since threatening to strike earlier this month — to clinch a 1-0 win at Villa Park.
It was all Albion as they out-thought and out-battled Villa during a tight Barclays Premier League derby.
There are no issues between the Baggies squad and Berahino, despite his off-field antics as he tried to force through a move to Tottenham, and his goal underlined his value to the side.
Albion had scored just once in their previous three games.
He also repaired any lasting fractures with the West Brom fans and the 22-year-old threw his shirt into the travelling support at full-time.
But Villa’s worries continue to grow, with Tim Sherwood’s side without a Barclays Premier League win since the opening day following another tepid display.
They host fierce rivals Birmingham in the Capital One Cup on Tuesday and defeat is not an option after an unconvincing start.
The Baggies started Berahino, along with James Morrison and James McClean, for the first time since rejecting two deadline-day bids from Tottenham and made a bright start as Brad Guzan produced a fine stop to keep out Salomon Rondon's flicked header inside two minutes.
Albion’s €16.5 million record scorer impressed all afternoon as he gave the visitors a fine unselfish focal point, even if he failed to score.
It was in stark contrast to Gabby Agbonlahor who toiled against the strong Albion defence, who have now kept four straight clean sheets.
Agbonlahor has now scored just four goals in his last 31 games and his lack of penetration leads to legitimate questions over his role in the Villa side.
He lost out in every aerial tussle but did worry Albion after 26 minutes when he wriggled free on the left and crossed for the onrushing Carles Gil, who was denied by a brilliant block by Claudio Yacob.
It was Villa’s best opening but they relied on Guzan five minutes later when he tipped Darren Fletcher’s drive wide.
The game desperately needed a goal as it threatened to limp to half-time, and Berahino kept to the script as he delivered six minutes before the break.
A brilliant Craig Dawson tackle allowed McClean to cross from the right.
He found Rondon to lay off for Morrison, and his 18-yard effort was deliberately deflected past Guzan by Berahino.
Villa were jeered off and Sherwood reacted by sending on Rudy Gestede for Scott Sinclair at the break.
Carlos Sanchez and Gil shot straight at Boaz Myhill during a muted Villa response as Albion comfortably maintained their lead.
Guzan claimed Rondon’s drive at the second attempt on the hour before Villa were denied a penalty after 65 minutes.
Berahino looked to be inside the area when he blocked Alan Hutton's cross, with referee Martin Atkinson giving a free-kick for handball just outside the box.
It infuriated Villa, although whether the ball hit Berahino’s arm was also up for debate, but they wasted the free-kick.
Albion broke and Rondon shot straight at Guzan before Villa cursed the officials again with 20 minutes left.
Micah Richards headed past Myhill but the hosts had already been awarded a free-kick following a foul on Jack Grealish.
Villa, though, never looked like breaking the Baggies down again and Gestede headed over in injury time to waste their final chance.
Leicester missed the chance to close the gap on Manchester City at the top as they drew 2-2 at Stoke City.
The result was on balance a positive one for the Foxes however, as they came back from 2-0 down for the second week running.
At 2-0 down a Ryad Mahrez penalty halved the deficit before a Jamie Vardy goal levelled it up and ensured Leicester remain unbeaten.
Newcastle’s winless start to the season continues after a 2-1 home defeat to Watford.
Sunderland ensured the bottom two remained an all north-east affair as their 2-0 defeat away to Bournemouth leaves them bottom.
Swansea and Everton played out a 0-0 draw at the Liberty stadium.