Ward made his first-class debut for South Island against North Island in a trial match for the 1958 tour of England. He took five catches in the first innings, and was selected as Eric Petrie's deputy on the tour. He made his Plunket Shield debut for Canterbury in 1959-60, and was selected to tour South Africa in 1961-62, where he served as deputy to Artie Dick.
He finally made his Test debut in 1963-64 in the First Test against the South African touring team, but then lost his place to Dick, who was a superior batsman. He replaced Dick for the Third Test against Pakistan in New Zealand in 1964-65, and went on the tour of India and Pakistan in 1965 as the sole wicket-keeper. He made his highest Test score of 35 not out in the First Test against India, when he and Richard Collinge put on 61 for the last wicket, but injury forced him out after the Indian leg of the tour, and Dick again replaced him. Later that year, in England, Ward returned to the side, replacing Dick for the Third Test.
His last Test was the Fourth Test against India in 1967-68. He continued to play for Canterbury until the end of the 1970-71 season. He scored his only first-class fifty against Wellington in 1969-70, when he made 54 not out.
His son Barry kept wicket for Canterbury in the 1986-87 season.