Top seed Roger Federer stayed on course for a seventh title at his home tournament in Basel but was given a slight scare by David Goffin as he prevailed 6-3, 3-6, 6-1 on Friday to reach the Swiss Indoors semifinals.