The 25-year-old, who has played for Gloucestershire since 2010, has agreed a three-year contract with Middlesex.
"We have been looking to sign a fast bowler with white-ball pedigree," said Middlesex managing director of cricket Angus Fraser.
"In James I believe we have found a bowler that will add extra bite and quality to this area."
Fuller was a key part of Gloucestershire's winning One-Day Cup campaign this year, taking 15 wickets including 2-34 in the final at Lord's.
Born in Cape Town, South Africa, he holds a UK passport and has taken 101 first-class wickets at an average of 33.90 with best figures of 6-24.
He also has 58 List A one-day wickets at an average of 25.17 and 62 Twenty20 wickets in 46 games.
"I have watched James bowl on numerous occasions and have been impressed with what I have seen," added Fraser.
"He is a fine athlete with a strong, easy action that allows him to bowl with good pace. James is extremely ambitious and is the sort of character that fits what Middlesex are looking for."
Middlesex have signed James Fuller after the fast bowler turned down a new deal with Gloucestershire.