Domnica Cemortan, who is testifying in the trial against Schettino for manslaughter and abandoning ship, said she had dined with the captain before joining him on the bridge moments before the fatal crash.
"Yes, I had a liaison with Francesco Schettino," the blonde said after being told she risked criminal charges for attempting to dodge the question in the interests of protecting her private life.
Cemortan, who has staunchly defended the embattled captain, said she boarded the luxury cruise liner as a non-paying passenger.
"I already knew Schettino, I ate with him in the restaurant, I had a dessert with the captain," she was quoted as saying by Italian media.
"Schettino joked that they had to slow the ship down so I could finish my dessert," she said.
Schettino, dubbed "Italy's most hated man" by the tabloids, is accused of sailing too fast and too close to Giglio island in a risky manoeuvre to "salute" the residents, an Italian maritime tradition.
"He didn't tell me anything about sailing closer to the island," Cemortan said. "Everything seemed normal."
Schettino has blamed an Indonesian helmsman for causing the accident after misunderstanding a crucial order.
"I didn't see anything because it was dark," Cemortan said.
"At a certain moment there was silence, and then Schettino started to give orders and I heard one of the orders being misunderstood. He then repeated the order," she said.
"I didn't feel the crash, but I saw the alarm lights go on," she added.
Earlier Tuesday the court had heard from the ship's maitre d' Antonello Tievoli, who said he had asked Schettino to sail closer to Giglio as a "salute" to his family, who live there.
Tievoli said the captain had done a first sail-by on January 6th but did not feel he had got close enough, and made a second, fatal attempt a week later, the night of the disaster.
Waiter Ciro Onorato described the chaos on board as the ship began to take on water and topple over.
"There were scenes of panic. I saw some passengers slap a member of staff. The passengers were running... I put tablecloths down on the floor to stop people from slipping over," Ciro Onorato told the court.
The 290-metre Concordia crashed into rocks on the night of January 13th 2012, with 4,229 people from 70 countries on board.
Schettino, who has been nicknamed "Captain Coward" for apparently heading ashore while terrified people were still trapped aboard, faces up to 20 years in prison if he is convicted.
Five suspects, including the director of ship owner Costa Crociere's crisis unit, have already been sentenced to jail in plea bargain deals.