Macheda juga pernah menjadi pemain internasional muda Italia, dengan tampil di tim nasional U-16, U-17, U-19, dan U-21. Pada saat ia melakukan debutnya di tim U-21 pada bulan Agustus 2009 dalam pertandingan persahabatan melawan Rusia, ia menjadi pemain termuda yang melakukannya pada usia 17 tahun 355 hari. Ia mencetak gol pertamanya untuk tim tersebut sedikit lebih dari setahun kemudian dalam pertandingan melawan Turki.
Dalam karir klubnya, Macheda memulai dengan bermain untuk tim muda Lazio sebelum bergabung dengan Manchester United. Di United, ia langsung masuk ke tim U-18 dan mencetak satu-satunya gol dalam kemenangan 1-0 pada debutnya melawan Barnsley pada tanggal 15 September 2007. Pada musim pertamanya di klub tersebut, Macheda menjadi pencetak gol terbanyak tim U-18 dengan total 12 gol dalam 21 penampilan. Ia juga melakukan debut untuk tim cadangan pada tanggal 26 Februari 2008 dan menandatangani kontrak profesional pertamanya dengan Manchester United pada ulang tahunnya yang ke-17 pada bulan Agustus 2008. Pada musim 2008-2009, ia terus bermain untuk tim U-18 sambil beberapa kali tampil untuk tim cadangan. Pada akhir musim tersebut, Macheda mendapatkan kesempatan bermain untuk tim utama dalam pertandingan melawan Aston Villa pada tanggal 5 April 2009. Ia mencetak gol kemenangan dalam pertandingan tersebut dengan sebuah tendangan melengkung dari dalam kotak penalti pada menit ke-93. Setelah itu, Macheda juga tampil dalam dua pertandingan berikutnya untuk Manchester United.