struggle to で〜するのに[苦労する](https://eikaiwa.dmm.com/uknow/questions/62344/) fight off で戦う、戦っておいやるという意味です。
上記の文を自然な英語に訳すと
I saw you struggling to stay awake in class.
([授業中](https://eikaiwa.dmm.com/uknow/questions/62337/)寝ないように苦労していたのをみたよ)となります。
またdrowsinessを使うと下記のように言えます。
You looked like you were fighting off drowsiness in class.
You were trying to stay awake. 「起きていようとしていたね。」
睡魔と戦うを文字通り訳さずに、起きて[いようとする](https://eikaiwa.dmm.com/uknow/questions/45947/)。と言い換えれば、シンプルに伝えることができます。
ご参考になれば幸いです。