Sketch: Let $K$ be the kernel of $f$.
Since $K$ is normal, $HK$ is a subgroup of $G$.
There is a bijection between cosets of $HK$ in $G$ and cosets of $f(H)$ in $f(G)$. The bijection is given by $gHK$ corresponds to $f(g)f(H)$. To see where this comes from, observe that $f^{-1}(f(H))=HK$.
One direction of the proof: Suppose that the cosets $f(g_1)f(H)$ and $f(g_2)f(H)$ are equal. Then, there exists some $h\in H$ such that $f(g_1)f(h)=f(g_2)$. Therefore, $f(g_2^{-1}g_1h)=e_M$. Therefore, $g_2^{-1}g_1h\in K$ so there is some $k\in K$ such that $g_2^{-1}g_1h=k$ or that $g_2^{-1}g_1=kh^{-1}\in KH$. This implies that $g_2HK=g_1HK$.
Starting with $g_2^{-1}g_1\in HK$, write $g_1=g_2hk$ and use this to show that $f(g_1)f(H)=f(g_2)f(H)$ by a similar argument.
- The result follows since $[G:H]=[G:HK][HK:H]$ and $[G:HK]=[f(G):f(H)]$.