高槻市を出ると、京都線の左側には山が、右側には淀川が迫ってきます。この両者に挟まれるとともに、東海道新幹線が併走します。
島式ホーム1面2線から成る駅です。待避線などが設けられていない駅で島式ホームとなっているのは、阪急京都線ではこの上牧が唯一です。ホームは築堤上に設けられており、線路西側に駅舎が設けられています。ホームに立つと東海道新幹線がすぐ脇を通るため、ホームで新幹線の写真を撮る人をしばしば見受けます。
駅舎は鉄骨平屋建てで、石橋や塚口とも共通する三角屋根が印象的です。
駅の周辺は住宅地ですが、畑地や荒地がちらほら目に付きます。