The Reds made it a double over the Sky Blues after having beaten them in the quarter-finals last season.
Rhyan Grant gave Sydney the lead after 16 minutes but Adelaide drew level with a goal from Pablo Sanchez just before half-time.
No further goals were scored in the second half and the tie was decided by a strike in the second period of extra-time by Dylan McGowan.
The midfielder turned from hero to villain when he was sent off for a last-man foul on Sebastian Ryall, a few minutes from time.
Melbourne City had little difficulty in beating Wellington Phoenix 5-1 in another all-A-League FFA Cup tie at AAMI Park.
City's quarter-final spot was never in doubt after it took an early three-goal lead.
Goals from Aaron Mooy (penalty), Harry Novillo, Bruno Fornaroli (penalty) and Robbie Koren gave City a 4-1 half-time lead after Roy Krishna had pulled a goal back for the visitor.
Substitute Wade Dekker made it five soon after the restart before Krishna missed a late penalty for Phoenix.
Perth Glory goalkeeper Jarrad Tyson conceded a penalty and was sent off seven minutes into its match against Lions FC at Perry Park.
Substitute Nick Feels covered himself in glory by saving the subsequent spot kick from Andre Bonotto but the home side could not take advantage of its numerical advantage.
The tie was settled in extra-time with a late goal from Chris Harold.
Heidelberg United scored the fastest goal in the history of the FFA Cup when Dan Heffernan found the back of the net after 26 seconds of its match against Sydney United at Olympic Village.
Another late goal from Ken Athiu gave Heidelberg a 2-0 victory.