I don't understand the "combining" part of your question, but this makes a contour plot:
ListContourPlot[Flatten /@ Flatten[Transpose[{Outer[List, x, y], mat}, {3, 2, 1}], 1]]1], Epilog -> {Red, PointSize[Medium], Point /@ Outer[List, x, y]}]] 

ContourPlot[ Interpolation[Flatten[Transpose[{Outer[List, x, y], mat}, {3, 2, 1}], 1]][u, v], Evaluate@{u, Sequence @@ ({Min@#, Max@#} &[x])}, Evaluate@{v, Sequence @@ ({Min@#, Max@#} &[y])}] 