A farmer had to be air-lifted to hospital and a cow died after both became trapped under a metal feeder ring.
Firefighters were called to free the man - thought to be in his 60s - at Coal Gate Road in Soyland, Ripponden.
It is thought he was feeding the cows when the accident happened. When he was gone for longer than usual, his son is understood to have gone to the field looking for him and discovered his father trapped.
People living near by joined the emergency services to help free the man.
He was taken to Leeds General Infirmary with serious leg injuries. His condition has been described as comfortable.
One of two fire engines sent out to help the man, at around 2.30pm on Saturday, was almost there when it slid off the icy road.
No one was hurt and the crew walked to the farm while the other engine arrived safely.