Leeds Rhinos clung on to record only their third Super League win of the season against a gritty Hull FC.
The hosts led at the break when Jordan Lilley converted a penalty goal after Jimmy Keinhorst and Chris Green exchanged first-half scores.
Kirk Yeaman looked to have extended Hull’s winning run with his try, but Lilley crossed to overhaul the deficit.
Jamie Jones-Buchanan battered his way over late on to put Leeds 20-12 up and Danny Houghton’s try came too late.
It was Leeds’s first win in five and ended Hull’s run of five straight wins.
The game was played in near-constant rain and the subsequent conditions certainly affected the standard.
Keinhorst’s try, as much as Leeds looked more like their 2015 vintage in scoring it, came on the back of Hull errors.
Big forwards and short balls were the key to Green’s crash over, as the vaunted expansive game of Hull’s recent wins was sacrificed for direct running.
Lilley’s penalty goal option emphasised the need to take points opportunities before the break.
Yeaman’s score was tinged with controversy as it looked like he might have been ahead of play from the kick.
However, Lilley’s smart finish gave Leeds hope and Jones-Buchanan had Headingley rocking with his drive over.
Houghton added anxiety to the mix with a late score but the hooter came to lift Leeds spirits.
Leeds Rhinos: Hardaker; Golding, Watkins, Keinhorst, Handley; Sutcliffe, Lilley; Galloway, Burrow, Garbutt, Ablett, Achurch, Jones-Buchanan.
Replacements: Mullally, Singleton, Falloon, Delaney.
Hull FC: Naughton; Michaels, Fonua, Yeamn, Talanoa,; Washbrook, Sneyd; Taylor, Houghton, Watts, Pritchard, Manu, Bowden.
Replacements: Palea’aesina, Green, Thompson, Hadley.
Referee: Joe Cobb