Jon Walters should have found the net in the 32nd minute when he put a point blank header wide from Stuart Elliott's cross.
Huddersfield responded by taking the lead in the 40th minute. Poor defending by City saw McAliskey play in Chris Brandon, totally unmarked in the box. Brandon avoided Myhill's attempt to close him down, before smashing it through the covering City defenders into the back of the net.
But that lead was short lived as City equalised 2 minutes later through top scorer Stuart Elliott. A throw-in to Facey was passed onto Elliott with a narrow angle left of the goal, but the in-form winger squeezed his shot inside the far post.
Facey should have done better with a header just after half time, but Aaron Wilbraham made no mistake a minute later. The centre forward, on as a substitute for Walters at the break, connected with a great Stev Angus cross to head past Paul Rachubka.
Michael Keane and Brandon both went into the book for clashing after the ball went out for a throw-in.
The rain was getting even heavier as the match went on, making the conditions difficult for both sets of players. City were frustrated by the officials' decisions, while Myhill was equal to anything the Terriers put his way.
City suffered a blow in the final minute as Stuart Elliott had to go off with a facial injury. He has a suspected fractured cheekbone.
That was the only negative from the 2-1 result which sees City end a string of poor results against their Yorkshire rivals, and beat them for the first time in almost 10 years.
City go level on points with league leaders Luton, who drew 1-1 with Sheffield Wednesday today, but are 2 short of matching their goal difference. Huddersfield drop into the bottom half of the table.
City line-up (4-4-2): Myhill; Angus, Cort, Delaney, Dawson; Green (Price 86), Ashbee, Keane, Elliott (Lewis 89); Walters (Wilbraham 45), Facey.
Un-used subs: Duke, Allsopp.