After Lang had opened the scoring, Cody Gakpo added a second for the home side before Brennan Johnson pulled a goal back for the visitors.
That was the way it stayed until Gareth Bale netted a 92nd-minute penalty which looked to have secured a point for the Welsh, but Depay, who missed a penalty late on in the 2-2 draw with Poland last time out, still had time to score the winner.
"Of course, it shouldn't be possible to give away a 2-0 lead, but in the end, after a long and difficult season, we can be quite happy to win this game," Dutch captain Matthijs de Ligt said.
"In the last match he (Depay) missed that penalty, so it's great that he makes up for it this way."
The Dutch have now won all 10 matches they have played against Wales but were made to work hard for this latest victory.
Lang had already forced a good save from goalkeeper Wayne Hennessey before he found the back of the net on 17 minutes as he twisted and turned past three Wales defenders and rifled his shot into the net.
Bale looked to have rescued a point late on when he coolly slotted in an equaliser from the penalty spot, but that joy for the visiting supporters lasted just a minute before Depay, on as a substitute, poked the ball into the net from close range.
"It's hard to take but I'd rather this happen now and we address it than it happen at the World Cup," Bale told S4C's Sgorio. "We have to use these Nations League games to improve and get better.
"Of course we are disappointed we conceded late, but we're competing with these big teams in every game now and it's just the finer details we need to iron out."