Hilton Cartwright (58 not out off 56 balls) guided the table-topping Stars to 141 for six from their 20 overs at the MCG.
That appeared a below-par total despite a slow pitch, but Perth struggled as Nic Maddinson (3-24) helped the Stars to a 10th win in 11 games.
The Scorchers finished on 131 for nine as their chase fell apart in the second half of their innings, the loss a blow to their play-off chances.
CARTWRIGHT IN CONTROL FOR STARS
On a slow wicket, Cartwright ended up playing the key role for the Stars with the bat.
The opener’s innings included seven fours, although it looked like his side were at least 20 runs short after electing to bat first.
The Stars were 34-3 in the eighth over when Maddinson fell, but Cartwright’s ability to see out the innings after Marcus Stoinis (6) went cheaply proved crucial.
MARSH RUN-OUT COSTLY
Perth appeared in control in their chase, reaching 62-2 off nine overs and needing 80 off the final 11.
However, Mitchell Marsh (11) was run out to begin the 10th over and the Scorchers’ middle and lower order failed.
Glenn Maxwell’s decision to bowl Maddinson late in the Perth innings looked a risky one, but it paid off spectacularly.
Cameron Bancroft (32) was the key man for the Scorchers, but was removed by Maddinson.
The right-hander produced a powerful drive from a low full toss, only for Maddinson to take an incredible return catch.
Maddinson also had Tim David (11) and Matthew Kelly (5) stumped as the Scorchers capitulated late in their chase.
Get breaking news alerts.
You have already subscribed