The RFEF's decision at a board meeting on Tuesday came after several weeks of bickering over the venue for the May 25 match, which Barca's arch-rivals Real declined to host saying they had planned building work.
Media reports had speculated that Real, who beat Barcelona in last season's final in Valencia, did not want Barca lifting a trophy at their home ground.
The mayor of Bilbao was quoted as saying in local media that Real's refusal was "shameful" while Barca, who knocked Real out in the quarter-finals, opted not to send any representatives to Tuesday's federation meeting in protest.
The Calderon holds just under 55,000, compared with the Bernabeu's 85,000. Seville's Olympic Stadium, which holds around 60,000, was a second option for the final but federation board members voted instead for the Calderon.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.