This code adapted from http://mathematica.stackexchange.com/questions/14863/placing-a-contourplot-under-a-plot3d works prety well. u[x_, y_] := x^.5 y^.5 contour = ContourPlot[u[x, y], {x, 0, 1}, {y, 0, 1}, PlotRange -> {0, 1}, Axes -> False, Contours -> 15, PlotPoints -> 50, PlotRangePadding -> 0, ColorFunction -> "Aquamarine"] potential1 = Plot3D[u[x, y], {x, 0, 1}, {y, 0, 1}, PlotRange -> {0, 1}, ClippingStyle -> None, MeshFunctions -> {#3 &}, Mesh -> 15, MeshStyle -> Opacity[.5], MeshShading -> {{Opacity[.3], Blue}, {Opacity[.8], LightBlue}}, PlotRange -> {Automatic, Automatic, {min, 2}}, Lighting -> "Neutral"] Show[potential1, Graphics3D[contour[[1]] /. {x_Real, y_Real} :> {x, y, 0}], BoxRatios -> {1, 1, 0.6}, FaceGrids -> {Back, Left}] Here is the outcome [![enter image description here][1]][1] I wonder how reuse the color function on the contour plot to have identical colors [1]: https://i.sstatic.net/vdgM9.png