The fight will take place at UFC 172 at Baltimore Arena, officials announced Monday.
Benavidez (19-4) is looking to regroup after losing by first-round knockout to UFC flyweight champion Demetrious Johnson last month. The loss dropped Benavidez's record in UFC title fights to 0-2.
Benavidez, fighting out of Sacramento, Calif., is still the No. 3-ranked featherweight in the world, according to ESPN.com.
Elliott (10-4-1) also looks to rebound from a recent setback, as he lost by unanimous decision to Ali Bagautinov at UFC 167 in November.
The 27-year-old Elliott, who had won his previous two fights, is 2-2 since signing with the UFC in 2012.