Disclaimer: I started from a simple geometrical idea, but, unfortunately, it turned out messier than expected. This answer, therefore, just serves the purpose of showing that this can be done. Other answers are by far more elegant and are recommended over this one.
Let $f(x) = x^3+ax^2 + bx + c$. Since $y\mapsto y + c$ is bijective, we can assume that $c = 0$.
As others already noted, surjectivity is automatic, so we only need to deal with injectivity.
I will appeal to geometry at this point:
$f$ is not injective if and only if there is a line parallel to
$x$-axis that crosses the graph of $f$ at more than one point.
This tells us that:
$f$ is not injective if and only if there exists $y\in\Bbb R$ such
that $f(x) - y$ has at least two different real roots.
Since non-real roots of polynomials over $\Bbb R$ come in conjugate pairs,
$f$ is not injective if and only if there exists $y\in\Bbb R$ such
that $f(x) - y = (x-A)(x-B)(x-C)$ where $A,B,C$ are real
numbers, not all equal.
Expanding we get $$x^3 + ax^2 + bx - y = x^3 -(A+B+C)x +(AB+BC+AC)x - ABC$$ so the question boils down to finding real $A,B,C$ such that \begin{array}{c c}\begin{align}-(A+ B+C)&=a\\ AB+BC+AC &= b\end{align} & \tag{1} \end{array} and then we set $y = ABC$.
We can now conclude that
$f$ is injective if and only if $(1)$ has no real solutions or all the real solutions satisfy $A=B=C$.
Solving system $(1)$ in terms of $A$, we get $$B = \frac 1 2 (-a - A \pm \sqrt{- 3 A^2 - 2 a A +a^2 - 4 b})\\ C = -a - A - B\tag{2}$$
We can easily see that $(1)$ has no real solutions if and only if $B$ and $C$ from $(2)$ are not real for any real $A$, and that happens if and only if $- 3 A^2 - 2 a A +a^2 - 4 b<0,\ \forall A\in \Bbb R$.
From the discriminant of $- 3 A^2 - 2 a A +a^2 - 4 b$ as a polynomial in $A$, we finally get condition that $(1)$ has no real roots if and only if $a^2 < 3b$.
Assume now that there is a real solution to $(1)$ such that $A = B = C$. Substituting in $(1)$ we get necessary condition $A = B = C = -a/3$ and $a^2 = 3b$.
Now we need to show that $a^2 = 3b$ implies that all the real solutions to $(1)$ satisfy $A = B = C$. But this is almost immediate: we must have $$- 3 A^2 - 2 a A +a^2 - 4 b\geq 0$$ but the discriminant of $- 3 A^2 - 2 a A +a^2 - 4 b$ is $0$ (because $a^2 = 3b$), so we can conclude that $A = -a/3$ is the only real that satisfies this, and also we get that in that case $A = B = C$. Thus, $a^2 = 3b$ implies that $A=B=C=-a/3$ is the unique real solution to $(1)$.
Collecting the pieces, we get that $f$ is injective if and only if $a^2 \leq 3b$.