马颊河起源于河南省濮阳县澶州坡,自西向东北流经濮阳县、濮阳市华龙区、清丰县、南乐县,自南乐县西小楼村南出境进入河北省大名县,在莘县沙王庄进入山东省境。经莘县、冠县、聊城市、茌平、临清市、高唐、夏津、平原、陵县(2014年10月,国务院关于同意山东省调整德州市部分行政区划的批复:撤销陵县,设立德州市陵城区)、临邑、乐陵、庆云,在无棣县黄瓜岭以下流入渤海。