Here's a proof. First, for all $x$, $x\cdot 0=x\cdot(0+0)=x\cdot 0 +x\cdot 0$. Subtracting $x\cdot0$ from each side, $x\cdot0=0$. Now, for all $x$ and $y$, $0=x\cdot0=x\cdot(-y+y)=x\cdot(-y)+x\cdot y$. Subtracting $x\cdot y$ from both sides, $x\cdot(-y)=-(x\cdot y)$. Applying this twice along with the identity $-(-a)=a$, $(-x)\cdot(-y)=-(-x)\cdot y=-(-(x\cdot y))=x\cdot y$.
Your proof implicitly uses the fact that $-xy=(-x)y$, and assumes that there are only two possibilities, $xy$ or $-xy$, then shows that the latter is impossible. These seem like plausible assumptions, but I tried to be very careful in my proof above (thus using $-(x\cdot y)$ rather than simply $-xy$ to not be confused with $(-x)\cdot y$).
I only have a vague intuitive notion that I probably can't explain well, but I sometimes think of a negative number like $-5$ as being "$5$ in the other direction", and so multiplying by $-5$ means "multiply by $5$ and switch direction", i.e., sign. This means if you multiply $-5$ by a negative number, you should switch its direction back to positive.