Here is an elementary proof, in the sense that it avoids the fundamental theorem of finite abelian groups.
The proof is based on the following elementary statement:
Let $F$ be a finite field and $a$ an element of order $m$ and $b$ an element of order $n$. Then $F$ contains an element $c$ of order $lcm(m,n)$.
Let's begin the proof. Let $a$ be an element of maximal order, say $n$. To obtain a contradiction, we assume that $n<|F|-1$. Then we can pick an element $b\notin \langle a \rangle\cup \{0\}$. Denote the order of $b$ with $m$. By maximality of $n$, we know $m\leq n$. If $m$ divides $n$, then the polynomial $X^n-1$ has strictly more than $n$ roots ($b$ and the elements of $\langle a\rangle$). Thus we must have that $m$ does not divide $n$. But then $lcm(m,n)>n$ and the statement above gives an element with order $lcm(m,n)$, contradicting maximality of $n$.
This shows that $n=|F|-1$ and thus $a$ is a primitive element, i.e. a generator for the multiplicative group.