American Johnson Wagner won the Houston Open by two strokes after a final-round 71 on Sunday to pocket $1 million and a place in next week's U.S. Masters.