I've seen some proofs of this fact but they seemed more complicated than necessary, so I've tried to come up with my own, which is hopefully simpler. Can you kindly tell me if it's correct?
Proof. $G$ cannot have an element of order 6, else it would be cyclic and thus abelian. So the elements of $G$ different from $e$ can only have order 3 or 2. If all $g \in G$ have order 2 then $G$ is abelian, so there must be at least one element $a \in G$ of order 3. The subgroup $H= \langle a \rangle$ is normal in $G$ because its index is 2. $G/H$ is a cyclic group of order 2. Let $b \not \in H$. We have $(bH)^2=H \implies b^2 \in H$. If $o(b)=3$, then $ b=b^4=b^2b^2 \in H$, a contradiction. So we must conclude that every $g \in bH$ has order 2.
We have $G= H \cup bH = \{e, a, a^2, b, ba, ba^2 \}$. Moreover, $ab \in Hb = bH$ so $(ab)^2=e$. Then $ab=b^{-1}a^{-1}=ba^2$, which is exactly the relation in $S_3$. $\square$
It seems like this is indeed correct, but "simple" is somewhat relative; the simplicity of the proof really just depends on how many other facts or theorems you are allowed to use in it. Another example of a "simple" proof (quite similar to yours) might be:
$G$ has an order $2$ element $s$ and an order $3$ element $r$ by Cauchy's theorem (overkill, but saves writing). Now $2\nmid3$ so $s\notin\langle r\rangle$ so all elements of $\langle r\rangle,s\langle r\rangle$ are distinct, hence are the elements of $G$. Then consider $rs$; $s\notin\langle r\rangle\implies rs\notin\langle r\rangle$, and also $rs\ne s$. If $rs=sr$ then $G$ is abelian. The only element left is $rs=sr^2$, and we are done.