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],
Epilog -> {Red, PointSize[Medium], Point /@ Outer[List, x, y]}]]

[1]: https://i.sstatic.net/M60h2.png
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])}]
