(* Create a function to be minimized *)
f[x_,y_]:=x^2/2+y^2+x y;

(* Find the minimum, which is at (0,0) *)
FindMinimum[f[x,y],{x,0.2,0.21},{y,0.5,0.51}]//Chop

(* Record the steps taken by FindMinimum to reach the minimum *)
data=Last[Reap[FindMinimum[f[x,y],{x,0.2,0.21},{y,0.5,0.51},EvaluationMonitor:>Sow[{x,y}]]]][[1]];

(* Plot the path along the contours *)
ContourPlot[f[x,y],{x,-0.6,0.25},{y,-0.2,0.51},Contours->Range[0.01,2.5,0.01],Epilog->{Green,Line[data],Red,Point[data]},ContourShading->Automatic,FrameStyle->Black,FrameLabel->{"x","y"},BaseStyle->FontSize->15,PlotRangeClipping->True]