On 31 January 2007, he scored his maiden ODI century with an unbeaten 112 to guide his side to victory over Bermuda. He followed it up in his next game with 104 not out against Kenya. In the 2007 World Cup he was man of the match with 85 against Bangladesh during a Super Eight game, which Ireland won.
Porterfield scored his maiden first-class century in late August 2007. In a match against Bermuda as part of the 2007–08 ICC Intercontinental Cup, Porterfield scored 166 runs from 326 balls.
In the 2011 Cricket World Cup, Porterfield reached a fifty against the Netherlands. He hit 68 off 98 balls and helped his team to victory over the Netherlands.
Porterfield was appointed Ireland captain at the start of the 2008 season, succeeding Trent Johnston. Porterfield said "I've learnt a lot from Trent – he brought young players through, looked after them and he set an example by how he went about his game and how he prepared on and off the field. I may be young but I've plenty of experience of captaincy and I love it, being out there right in the mixer. I was vice-captain under Trent and I filled in when he was off the field so I've had a taste of it".
Despite being Ireland's official captain, Porterfield chose to represent his county (Gloucestershire) instead of leading Ireland in their ODIs against Scotland and New Zealand in July 2008 in an attempt to secure a permanent position at Gloucestershire. He said "It's definitely the hardest decision I've ever had to make ... I feel it's the right decision for me at this stage in my career".
Porterfield was one of seven Ireland players to be nominated for the 2009 Associate and Affiliate Player of the Year (there were fourteen nominees in all); he eventually won the award. Speaking about the award, Portfield said "It's been a fantastic year for us. This award caps it off on a personal note but it's great for the team to be going to the World Cup having won the ICC Cricket World Cup Qualifier early this year. This award is great for Irish cricket and it shows how much we have done on the field. If we continue onwards and keep on making improvements in that department then other awards will follow."
A side made up of some of the best players from Associate and Affiliate teams was put together to face England in Dubai in January 2012. The three-day match was part of England's preparation for a series against Pakistan later that month. Porterfield captained the squad and was one of four Ireland players included.
Porterfield was selected in Ireland's 15-man squad for the 2011 World Cup. He led them to a famous victory over England and to narrow defeats to Bangladesh, West Indies and India, as well as hitting the hundredth six of the tournament during the match against hosts India. He captained Ireland to a victory over the Netherlands.
Between 2004 and 2006, Porterfield played Second XI cricket for Durham, MCC Young Cricketers, Northamptonshire, Derbyshire and Kent.
Porterfield attracted interest from Gloucestershire during the 2007 World Cup and was given a trial with the county in between international commitments. In the 2007 season, Porterfield became the first Irishman to score 1,000 runs in a calendar year, and towards the end of the season Gloucestershire offered him a two-year contract.
He guided Ireland to their first victory against a county side in two years against Warwickshire with an innings of 69 from 110 balls.
Porterfield was absent from Ireland's last two Friends Provident Trophy matches as he was called into the Gloucestershire squad, Kyle McCallan took over the role of captain. After Gloucestershire batsman Craig Spearman sustained an injury, Porterfield was given the opportunity to play for Gloucestershire opening the batting. He came close to scoring his maiden first-class century for Gloucestershire in a match against Glamorgan County Cricket Club in August 2008 but was out for 93. On 10 September, he and Kadeer Ali shared in Gloucestershire's highest opening partnership of the season; he scored 66.
In August 2010, he set a new career best in scoring 175 in the first innings of a County Championship Division Two match between Gloucestershire and Worcestershire at Cheltenham
At the end of the season, Porterfield was one of several players to leave Gloucestershire. In October 2010 he signed a three-year contract with Warwickshire, joining fellow Ireland international Boyd Rankin.