Scottish Championship leaders Hearts were beaten 3-2 at home as Raith Rovers withstood a second-half fightback.
Gozie Ugwu backheeled Rovers in front inside five minutes and it could have been two midway through the first half. Dan Armstrong was fouled by Stephen Kingsley but Regan Hendry's penalty was saved by Craig Gordon.
Manny Duku replaced Ugwu at half-time and needed barely a minute to double the lead, slotting home from Rovers' second penalty of the game, and Reghan Tumilty soon added a third from Kai Kennedy's cross.
Hearts introduced Josh Ginnelly just before the third goal and he quickly set up Liam Boyce to pull one back with a header, but visiting keeper Jamie MacDonald brilliantly prevented Kingsley and Michael Smith making further inroads.
Boyce struck the woodwork before scrambling a second goal in stoppage time but Hearts could not find an equaliser.