The relegation-threatended side have paid an initial £12m fee for the 30-year-old and have registered him on time to be able to make his debut against Everton on Saturday. A further £3m will exchange hands if West Ham can avoid relegation this season.
The former Burnley and Liverpool striker has signed a two-and-a-half-year contract at the London Stadium.
Ings was Aston Villa's top scorer this season with six goals but has not started a game after the World Cup break.
West Ham are 18th on the Premier League table and have scored just 15 goals all season.
A club statement read: "West Ham United are delighted to announce the signing of proven Premier League striker Danny Ings.
"Ings, a senior England international, has joined the Hammers from Aston Villa for an undisclosed fee until the summer of 2025."
Ings said: "I’m really excited to join West Ham United.
“It’s important I settle in as quickly as I can do – and do the important stuff on the pitch for West Ham.
“We’ve got some massive games ahead of us – and I’ve come here to try and score as many goals as I can to help the team to get some positive results.
“I’m really looking forward to getting started.”
West Ham United manager David Moyes added: “I’m really pleased to add Danny to the squad.
“He is a proven Premier League goalscorer and will add great competition for places in the attacking third.
“We’re looking forward to integrating him into the group, as we go into a busy period in our season.”