I don't understand the "combining" part of your question, but this makes a contour plot:
ListContourPlot@ Flatten[ MapThread[ List[Sequence @@ #1, #2] &, {Outer[List, x, y], mat}, 2], 1] 
I don't understand the "combining" part of your question, but this makes a contour plot:
ListContourPlot@ Flatten[ MapThread[ List[Sequence @@ #1, #2] &, {Outer[List, x, y], mat}, 2], 1] 