Use a pattern in the second argument of `Collect`: Collect[ExpandAll @ eq, x^_. y^_.] > x^4 c[1] + x^2 y^2 (3 c[1] - 2 c[3]) - x^4 c[3] + x^2 y^3 c[3] - > y^4 c[3] - x^5 c[4] - x y^4 c[4] - x^6 c[5] - x^5 c[6] - > 2 x^3 y c[6] + x^4 y (c[1] - c[3] - 2 c[7]) + > x^3 y^2 (2 c[2] - 2 c[4] - c[8]) + x^5 c[8] + > x^4 y^2 (c[5] - c[9]) + x^6 c[9] + x^6 y (-c[5] + c[9]) + > x^5 y^2 (-c[4] + c[10]) + x^5 y (-2 c[4] + 2 c[10])