data = RandomReal[1, {10, 10}]; plot = ListContourPlot[data, PlotLegends -> Automatic, Contours -> 5]; p1 = RegionCentroid[ Cases[Normal@plot, Line[x_] :> Polygon[x], Infinity][[-1]]]; Show[plot, Graphics[{Red, PointSize[.02], Point[p1]}]] [![enter image description here][1]][1] when you have multiple regions at the lowest level you'll need to manually take the 'last n' results from `Cases`: plot = ListContourPlot[data, PlotLegends -> Automatic, Contours -> 5]; pts = RegionCentroid /@ Cases[Normal@plot, Line[x_] :> Polygon[x], Infinity][[-9 ;;]]; Show[plot, Graphics[{Red, PointSize[.02], Point[pts]}]] [![enter image description here][2]][2] The green marker is the minimum for the interpolation function found by Last@Quiet@ FindMinimum[ Interpolation[Flatten[MapIndexed[{#2, #} &, data, {2}], 1], InterpolationOrder -> 3][x, y], {x, y}] as you see its a little different. [1]: https://i.sstatic.net/5ShLl.png [2]: https://i.sstatic.net/EOwMK.png