The 25-year-old Cruz, a two-time world champion, won on split points to deny Team USA a first men's boxing gold in 17 years.
There is one more chance of US gold in the final bout in the Japanese capital later Sunday, when Richard Torrez faces the Uzbek Bakhodir Jalolov for the super-heavyweight title.
Cruz, who used to do karate, was all feints and flicks as he went ahead on the judges' scorecards after the first round.
Davis, 22, likes a scrap and was able to disturb the Cuban's rhythm in the second round.
But Cruz got the decision -- and celebrated with a Michael Jackson-like dance in the middle of the ring.