В данном предложении запятая перед словом "и" не нужна. Это связано с тем, что "и" соединяет однородные члены предложения ("обед прошёл весело" и "Остап вспомнил о цели своего посещения и заговорил"). Так как они имеют общий смысл и являются частью одного предложения, запятая не ставится.
Правильный вариант: «Обед прошёл весело и только за компотом Остап вспомнил о цели своего посещения и заговорил».