北京到东莞没有直达火车,去北京西站坐火车,坐到广州站或者广州东站,最便宜的硬座251元,广州站和广州东站旁边都有汽车站(流花车站、省汽车站、广州市汽车站、广州东汽车站),有到东莞汽车东站的车,30多块。