The 23-year-old rode smartly throughout the four-discipline event to win with a comfortable final margin of 24 points from Campbell Stewart of New Zealand.
Oldham-born Walls, who won the opening scratch race, went into the deciding points race with a narrow advantage of just six points but gained a lap on the field early on to take control, and could then mark his rivals for the remainder of the 100-lap event.
The omnium has changed format for these Games, with four events now squeezed into one testing afternoon of racing.
Walls, the European champion who tested positive for Covid-19 in March, jointly led alongside Jan Willem Van Schip and Benjamin Thomas after the tempo race, but then outlasted the pair in the elimination race to take a narrow advantage into the decider.
He wasted little time in taking control as he gained a lap alongside American Gavin Hoover, winning the second sprint in the process.
That gave him a cushion of 30 points over the field, and from then on he could mark the likes of reigning champion Elia Viviani, Thomas and Stewart to the finish.
Walls told the BBC: “I managed to get a good lead coming to the end. It’s been a hard day. I came into that points race with a bit of a lead which was nice, it gave me a bit of breathing room.
“Thank you to all my family and friends, I wouldn’t be here without them. Especially my parents when I was younger growing up, they travelled around the country with me and there’s no chance I’d be here without them.”