On 16 April 2008, Weiss scored in the second leg of the 2008 FA Youth Cup Final against Chelsea, in a 3–1 (4–2 on aggregate) win. He made his first team debut on 24 May 2009, replacing Stephen Ireland from the substitutes bench after seventy minutes in the final game of the 2008–09 season, a 1–0 win against Bolton Wanderers.
On 28 October 2009, he came on as a substitute against Scunthorpe United in the League Cup. He scored his first senior goal, as a substitute, on 2 December 2009, in a 3–0 League Cup win over Arsenal. He signed a new contract on 17 December 2009, to tie him to the club until 2012.
On 25 January 2010, Weiss joined Bolton Wanderers on loan until the end of the season, and made his debut as a last minute substitute a day later in the home game against Burnley. For the most part of his time at the Reebok Stadium, Weiss was a substitute.
On 19 August 2010, Weiss joined Scottish side Rangers on loan until the end of the 2010–11 season. Prior to signing for Rangers, Weiss rejected a move to their city rivals Celtic. He made his Rangers debut against Hibernian at Easter Road on 22 August coming on as a substitute for James Beattie, setting up the second goal with Rangers going on to win 3–0. He scored his first goal for Rangers in a 4–1 home win against Motherwell and five days later made his Champions League debut against Valencia, providing the assist from a corner for Maurice Edu‘s opener.
On 26 December 2010, Weiss gave a ‘Man of the Match’ performance, and scored the third goal in a 4–1 SPL victory over Motherwell at Fir Park. On 15 January 2011, Weiss scored twice in a 4–0 home victory over Hamilton Academical. On 20 March 2011, Weiss came off the bench in the League Cup Final against Celtic and made the assist for Nikica Jelavić to score the winning goal, he lifted his first senior trophy as a Rangers player. Weiss claimed a 2010–11 SPL winners medal, Rangers having won the title over rivals Celtic by a single point.