I think you can generate what you're looking for using the Wreath Product. The linked Wikipedia article is fairly well written and includes some examples, so I won't duplicate everything.
If G is any group and H is any subgroup of the permutation group on n elements, then the wreath product of G with H has order $|G|^n |H|$. Multiplication works by using elements of H to permute n copies of G. The result is non-commutative as long as H is non-commutative. You can take, e.g., |G|=p, H any non-commutative order r subgroup of the symmetric group on m elements. This imposes some relations between r and m, but there's plenty of non-trivial examples to play with. In fact, a lot of interesting examples of groups can be expressed as wreath products of smaller groups.
Also note that by Cayley's Theorem, every group of order r is a subgroup of the symmetric group on r elements (and the group multiplication tells you how it acts to permute its own elements). So if you take m=r you can use any non-commutative group H you like.