After solving I decided to generalize a bit. x^2+x+1 gets generalized to an arbitrary quadratic g(x) and let f(x)=ax^2+bx+c.
My generalized problem is "
What is the set of ordered pairs of quadratic polynomials (f(x),g(x)) such that f(f(x)) = f(x)*g(x)?"
Now I will just plug in my definition for f(x) into the equation, and divide both sides by f(x). Then
a*(ax^2+bx+c) + b + c/(ax^2+bx+c) = g(x).
This can only hold when c=0.
Apply this fact and then we get
a^2*x^2+ab*x+b = g(x)
So then the solution to my generalized problem is (f(x),g(x)) = (ax^2+bx, a^2*x^2+ab*x+b).
Back to the original problem. It can be solved by taking x^2+x+1 = a^2*x^2+ab*x+b. Then a=1 and b=1, so f(x)=x^2+x.