You could absolutely say “I bought my girlfriend an expensive dinner.” If you want to be more specific, you could use also use the word “restaurant.” For example:
I took my girlfriend to (a nice restaurant).
a fancy restaurant
an expensive restaurant
As far as “高級” goes, you could say any of the following:
expensive
nice
fancy
high class
“I bought my girlfriend an expensive dinner.”でも全く問題ありませんよ。もしより具体的に言いたいなら、“restaurant”([レストラン](https://eikaiwa.dmm.com/uknow/questions/36334/))も使えます。
例えば:
I took my girlfriend to (a nice restaurant). = 彼女を([高級](https://eikaiwa.dmm.com/uknow/questions/46356/)レストラン)に連れて行きました。
a fancy restaurant = 高級レストラン
an expensive restaurant = 高級レストラン
「高級」は以下の言葉で表せます。
expensive
nice
fancy
high class
I treated my girlfriend to a meal at a posh restaurant
If you describe something as being 'swish', it means that it is smart and fashionable. 'Posh' has a similar meaning. Both adjectives also carry the inference of being expensive.
By using the terms 'fancy' or 'posh' it suggests that it was expensive anyway so you wouldn't need to add that
If you treated your girlfriend it means you took her to it.
'My girlfriend and I' explains that you both went to the restaurant
fancy'や'posh'には'expensive'(値段が高い)というニュアンスがあります。ですから、'expensive'を加える必要はありません。
'I treated my girlfirend'は「彼女を連れて行った」という意味です。
'My girlfriend and I'で、彼女と二人で行ったという意味になります。
I gave my girlfriend a night out at a really nice restaurant.
Normally in America, it is common for somebody to say that they are taking someone out, and we tend to know what that means especially if they are talking about a partner or person of interest. We also replace the word 'expensive' or 'fancy' with the word 'nice' and it still makes sense.
アメリカでは、'to take someone out'(連れ出す/デートをする)という言い方をよくします。特にパートナーや気になる人について話しているなら、これがどういう意味か大体伝わります。
'expensive'または'fancy'の代わりに、'nice'を使っても意味が伝わります。
I took my girlfriend to a really nice restaurant. It was very expensive.
I took my girlfriend on a date to an upscale restaurant.
"Dined extravagantly" means that you had a very expensive, almost over the top meal, without worrying about the cost at the time.
Saying "a really nice restaurant" is a more casual way of implying that the place you went was fancy and expensive.
"Upscale restaurant" means a high-class place, and implies that it was most likely very expensive.
"Dined extravagantly"(ぜいたくな食事をした)は「〔金額を気にせず〕超高級なものを食べた」という意味です。
"a really nice restaurant"はよりカジュアルな言い方です。これも、高級なレストランだったというニュアンスです。
"Upscale restaurant"は「高級なレストラン」という意味です。値段がすごく高かったというニュアンスです。