On the day that the United captain become the Premier League's third highest scorer of all time, he blotted his copybook when he was sent off by referee Lee Mason in the 59th minute after lashing out at Stewart Downing as the midfielder broke from inside the West Ham half.
Without Rooney - who scored the opening goal of the game after five minutes - United were forced to defend deep, and they were lucky not to draw given substitute Kevin Nolan had a late potential equaliser ruled out for West Ham.
But Van Gaal - who watched Robin van Persie extend United's lead before Diafra Sakho pulled one back for the visitors before half-time - opted not to criticise the 28-year-old for his actions.
Instead, he questioned why similar fouls had gone unpunished earlier in the game.
"Maybe you don't want to hear it but in football you make professional fouls," the Dutchman said. "I have seen it five or six times [today] and Wayne has done it.
"I think he did it too unfriendly, maybe that was his biggest mistake.
"I have seen these professional fouls without a yellow or red card, so that is a bit strange.
"He [Rooney] played very well, I am very pleased with him."
Van Gaal also praised his side's fighting spirit as they hung on in the final 30 minutes to record only their second league win of the campaign.
"I think we played a very good first half, very attacking football," he added. "We were very dominant and didn't give many chances away.
"But we knew that every free-kick and corner would be very dangerous because West Ham are much taller.
"The second half, the red of Wayne changed everything.
"You cannot defend easily because they are still playing long ball and our height is not good enough, so it is always dangerous.
"Then you have to fight, fight, fight and I'm very pleased with the attitude of my players because they have fought until the end."
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.