Alternatives :
sage: var("a, b, c")
(a, b, c)
sage: f=1/(a-b)+2/(b-c)+3/(c-a)
sage: g=f*(a-b)*(b-c)*(c-a)
sage: f
1/(a - b) - 3/(a - c) + 2/(b - c)
sage: f.factor()
(2*a^2 - 4*a*b + 3*b^2 - 2*b*c + c^2)/((a - b)*(a - c)*(b - c))
sage: g
-(a - b)*(a - c)*(b - c)*(1/(a - b) - 3/(a - c) + 2/(b - c))
sage: g.expand()
-a^2*b/(a - b) + 3*a^2*b/(a - c) - 2*a^2*b/(b - c) + a*b^2/(a - b) - 3*a*b^2/(a - c) + 2*a*b^2/(b - c) + a^2*c/(a - b) - 3*a^2*c/(a - c) + 2*a^2*c/(b - c) - b^2*c/(a - b) + 3*b^2*c/(a - c) - 2*b^2*c/(b - c) - a*c^2/(a - b) + 3*a*c^2/(a - c) - 2*a*c^2/(b - c) + b*c^2/(a - b) - 3*b*c^2/(a - c) + 2*b*c^2/(b - c)
sage: g.expand().factor()
-2*a^2 + 4*a*b - 3*b^2 + 2*b*c - c^2
And, indeed :
sage: R1.<t, u, v>=QQ[]
sage: fp = FractionField(R1)(f.subs(dict(zip((a,b,c),(t,u,v))))).numerator() ; fp
2*t^2 - 4*t*u + 3*u^2 - 2*u*v + v^2
sage: SR(fp).subs(dict(zip((t,u,v), (a,b,c))))
2*a^2 - 4*a*b + 3*b^2 - 2*b*c + c^2
HTH,