Dunham set a tournament record for points in a game.
"My teammates did a great job of setting me up," Dunham said.
Butler (5-0) will face No. 5 Oklahoma State in Friday's semifinals. The Cowboys, behind 30 points from Marcus Smart that had tied the tourney record at the time, downed Purdue 97-87 earlier Thursday.
"As it got close down the stretch, we had Kellen and Khyle make play after play on the offense end of the floor," Butler coach Brandon Miller said. "When we're in tough situations, in tight knit situations, close game, these guys, they seem to come together and find ways to win games. As the game got tighter, these guys got better."
DaVonte Lacy had 26 points for Washington State (2-3), which has lost three in a row.
"Anytime somebody scores 30, you should take it personally as a team," Lacy said. "They had two, so I do take that personally. Unacceptable. It happens. They played great."
A tight affair saw the teams stay within three points of each other most of the second half.
Dunham hit a 3 and Kameron Woods followed with a dunk after a steal to put Butler ahead 70-67 with just under 2 minutes to play. After Washington State missed a pair of free throws, Dunham nailed another long-distance jumper and made two free throws to make it 75-67 with 21.7 seconds remaining.
"I'm proud the way our guys played," Washington State coach Ken Bone said. "We wanted to make sure we came out and played aggressive, and played with an element of toughness. I thought we showed that in a few ways. All-in-all, I think we did some good things."
Marshall had 14 points to help Butler take a 30-26 halftime lead. He became the 35th Butler player to score 1,000 points.
Washington State and Purdue will play in Friday's consolation round.