$\def\RR{\mathbb{R}}\def\CC{\mathbb{C}}$ Here is a proof via ODE. I imagine it's been found before, but I hadn't seen it before.
The essential idea is that, if $z: \RR \to \CC$ is an inverse function to $f$ then we should have $z'(t) = 1/f'(z(t))$ (formula for the derivative of the inverse function, in an exotic setting). Therefore, we can solve this ODE and get an inverse function, and we can evaluate the inverse function at $0$ to find a root of $f$.
Let $f(z) = f_n z^n + \cdots + f_1 z + f_0$ be the polynomial which we wish to prove has a root. We first make a simplifying assumption:
Simplifying Assumption: We may assume that there is no point $w$ where $f(w) \in \mathbb{R}$ and $f'(w)=0$.
Proof: Let $w_1$, $w_2$, ..., $w_k$ be the zeroes of $f'(z)$, there are finitely many of them by the easy part of the FTA. If $f(w_i)=0$ for any $i$, we are done. If not, replace $f(z)$ by $e^{- i \alpha} f(z)$ for some $\alpha$ not equal to the arguments of any $f(w_i)$. $\square$
With this assumption, we will show
Theorem: There is a smooth curve $t \mapsto x(t) + i y(t)$, parametrized by $\RR$, so that $f(x(t)+i y(t))=t$.
In particular, the point $x(0)+i y(0)$ is a zero of $f$.
Lemma 1: There is a constant $c>0$ so that $|f'(z)| > c$ for $z \in f^{-1}(\RR)$.
Proof: Choose $R$ large enough that $n |f_n| S^{n-1} > \sum_{k=0}^{n-1} k |f_k| S^{k-1} + 1$ for $S>R$. Then $|f'(z)| > 1$ for $|z|>R$.
The set $f^{-1}(\RR) \cap \{ |z| \leq R \}$ is closed and bounded, hence compact, so $|f'(z)|$ has a minimal value $b$ on that set, and by the simplifying assumption $b>0$.
Take $c = \min(b,1)$. $\square$.
In order to set up an ODE, we also need an initial value:
Lemma 2: There is a point $z_0 \in \CC$ where $f(z_0) \in \RR$.
Proof: Choose $R$ large enough that $|f_n| R^n > 2 \sum_{k=0}^{n-1} |f_k| R^k$. Let $f_n = |f_n| e^{i \alpha}$.
Then $\mathrm{Im} f(R e^{i (-\alpha-\pi/2)/n})<0$ and $\mathrm{Im} f(R e^{i (-\alpha+\pi/2)/n})>0$. So, by the intermediate value theorem, there is some $\theta$ with $f(R e^{i \theta}) \in \RR$. $\square$
Write $t_0$ for $f(z_0)$.
Consider the ODE $z'(t) = 1/f'(z(t))$ on $\RR \times \CC$, with initial value $z(t_0) = z_0$. Then this ODE is solvable for all $t \in \RR$, and $f(z(t)) = t$ for all $t$.
We first check that any solution to the ODE obeys $f(z(t))=t$. The proof is simply to differentiate the left hand side: $z'(t) f'(z(t)) = \frac{1}{f'(z(t))} f'(z(t)) = 1$ and $f(z(t_0)) = t_0$, so $f(z(t)) = t$. However, this assumes that students are comfortable differentiating complex valued functions of real arguments by the usual rules. So I'd first do the quick but questionable way and then I'd write it out: Put $f(x(t)+iy(t)) = \sum (g_k + i h_k) (x(t)+iy(t))^k$ and carefully take the derivative with respect to $t$, seeing that you get $z'(t) f'(z(t))$ at the end.
Now, we must check that solutions to the ODE extend to all $\RR$. Suppose, for the sake of contradiction, that there is a solution on $[t_0, q)$ but not beyond $q$; a similar argument works to show the ODE is solvable for all negative time.
By the previous computation, $f(z(t)) = t$ for $t \in [t_0,q)$, so in particular $z(t) \in f^{-1}(\RR)$. By Lemma 1, the right hand side of the ODE is bounded above by $1/c$ for $t \in (p,q)$, so $\lim_{t \to q^{-}} z(t)$ exists; call this limit $w$. By continuity of $f$, we have $f(w) = f \left( \lim_{t \to q^{-}} z(t) \right) = \lim_{t \to q^{-}} f(z(t)) = \lim_{t \to q^{-}} t = q$. In particular, by our Simplifying Assumption, $f'(w) \neq 0$. So we can solve the ODE again with initial condition $z(q) = w$. This gives a solution which agrees with the previous $z$ on a neighborhood to the left of $q$ (by uniqueness of solutions to ODEs), and is defined to the right of $q$, a contradiction.