Besiktas will pay 14 million euros ($16.5 million) to the Belgian side, the club said in a statement.
"An agreement has been reached with the club and the player regarding the transfer of professional football player Hyeon-gyu Oh," Besiktas added.
The former Celtic forward, who has scored six goals in 24 international appearances, will wear the number nine shirt.
Oh, 24, scored 10 goals in 32 games for Genk in all competitions.
($1 = 0.8470 euros)
