The Cougars (3-3) also got 13 points from Jordan Railey in stopping a three-game losing streak.
''A great win for our program,'' Washington State coach Ken Bone said. ''We really needed a win. Not only did we win, but I'm really excited the way we handled things down the stretch.''
Terone Johnson had 16 points for Purdue (5-2), which was coming off a 97-87 loss Thursday to No. 5 Oklahoma State in which the Boilermakers rallied from a 24-point deficit to get within four with 3:16 to play.
Purdue coach Matt Painter was not immediately available to comment on the loss as he and his players were still in the locker room almost an hour after the game.
Purdue entered the game averaging 86.3 points.
''It was a great defensive effort,'' Bone said. ''That's what I'm most proud of, personally. That's a great team. They have a lot of firepower.''
D.J. Shelton had a pair of 3's to key a second-half opening 14-2 run that put Washington State up 31-29 with 16 minutes left. Lacy's 3-pointer gave the Cougars a 49-44 advantage 13 minutes into the half.
Shelton finished with 12 points.
The Washington State advantage grew to 11, at 59-48, when Railey had a three-point play and then had an assist on Dexter Kernich-Drew's layup with 2 1/2 minutes left.
The Cougars made just 6 of 27 shots (22.2 percent) during the opening half. They went 19 of 29 (65.5 percent) in the second.
''We didn't put our heads down,'' Lacy said. ''We knew we were getting good shots. We just weren't making them. I think we came out in the second half and shared the ball a lot more. Also, we were attacking.''