Holloway was originally scheduled to defend his title against Frankie Edgar on the same date in Detroit, but Edgar was forced to withdraw due to injury.
The UFC confirmed the fight Saturday night.
Holloway (18-3) won the title by knocking out Aldo in the third round at UFC 212 in June.
Fighting out of Waianae, Hawaii, Holloway is riding an 11-fight win streak. His last loss was in August 2013 against current lightweight champion Conor McGregor.
Aldo (26-3) has been one of the most dominant fighters in the sport during the course of his career, but is just 1-2 in his past three.
The Brazilian was scheduled to face Ricardo Lamas on Dec. 16.
The UFC 218 event takes place at Little Caesars Arena.