You have to re-plot it with a second patch call:
x = linspace(-1, 1);
y1 = 1.5*x.^2+1;
y2 = x.^2 + 1.5;
figure(1)
patchVar = patch([x, fliplr(x)], [y1 fliplr(y2)], 'g'); % Create ‘patch’ Object
figure(2)
patch(patchVar.XData, patchVar.YData, patchVar.FaceColor)
Also, you do not need the findobj call (although it works, and returns the same information as the handle), you can simply create a handle to the original patch object.