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]}]]

![Mathematica graphics](https://i.sstatic.net/Cvd2b.png)


 [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])}]

![Mathematica graphics](https://i.sstatic.net/J9kmp.png)