The royals smiled and waved to the media as Letizia carried Sofia, their second child, who was born last Sunday and who is third in line to the throne.
Prince Felipe held his first-born, Leonor, a year-and-a-half old, who wore a red dress and wriggled in his arms as she tried to grab a microphone.
Halfway through the five-minute appearance Leonor started waving and baby-talked the word "adios," drawing a chorus of "oohs" and "ahs" from the crowd.
At another point the prince put Leonor down on the ground and tried to hold onto her arm but eventually gave up, and she skittered off to get closer to delighted reporters.
Letizia said she had named the new baby after Queen Sofia, wife of King Juan Carlos, as a tribute to her.
She said she would reduce her workload to spend a lot of time with Sofia.
"We will do everything we can to be the best parents for them," the prince said.
Sofia is the eighth grandchild of the king and queen.
More than 5.8 million people voted for Nicholas Maduro at the presidential election in Venezuela. This is more than a quarter of registered voters. Why did those people vote for the man, who, as Western media write, took Venezuela to the brink of collapse?
Putin's official spokesman Dmitry Peskov commented on remarks in the US media about failures in launching nuclear-capable missiles in Russia